History log of /frameworks/base/core/java/android/content/Context.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f955e56d51dac0fade192b544af5679d3d8193ac 26-Apr-2018 Tyler Gunn <tgunn@google.com> Require READ_CALL_LOG permission to see phone numbers in phone state.

Incoming and outgoing call phone numbers are visible in the phone state
broadcast and via the PhoneStateListener. To enhance user privacy, change
to require the READ_CALL_LOG permission in order to receive the call
phone numbers.

This means to see phone numbers:
1. android.intent.action.PHONE_STATE - requires READ_PHONE_STATE and
READ_CALL_LOG permission.
2. PhoneStateListener#onCallStateChanged - now required READ_CALL_LOG
permission.

To support this new behavior, added sendBroadcastAsUserMultiplePermissions
method to context to allow sending the broadcast to all users while
requiring the two permissions.

Bug: 78650469
Test: Created PHONE_STATE broadcast receiver in test app and verified that
when no permissions are granted, the phone number is empty for incoming
and outgoing calls.
Test: Granted Phone state permission to test app and verified that phone
number is not populated.
Test: Granted test app read call log permission and verified that phone
number is populated.
Test: Created PhoneStateListener in test app and verified that when no
permissions are granted, phone number is empty for incoming and outgoing.
calls.
Test: Granted read call log permission to test app and verified that both
the incoming and outgoing numbers are populated.

Change-Id: I857ea00cc58a0abbb77960643f361dd6dd9c8b56
/frameworks/base/core/java/android/content/Context.java
f80809ffd7b6ea8eb120ce5ccb343582c2757ea0 04-Apr-2018 Philip P. Moltmann <moltmann@google.com> Expose TestAPIs needed by GtsOsTestCases

Test: atest GtsOsTestCases on pi-dev:taimen and oc-mr1:sailfish
Bug: 77497338
Change-Id: I5de976991a857bfbed2faa943822af542601fa8b
/frameworks/base/core/java/android/content/Context.java
1194b0bdfed798cae594c6e80c13855ea6618f3b 23-Mar-2018 Chris Craik <ccraik@google.com> Remove incorrect @NonNull annotations on getDrawable() and variants.

For compatibility, had to continue returning null when drawables could
not be decoded. Fix annotation to match pre-P behavior (the behavior
was reverted separately).

Fixes: 69543526
Test: make

Partial revert of Ib01eca970c5c9969998ce5b265b120aa7048b41a

Change-Id: I5f612f47793c3f04cf9874e13efdc13397ddd4e8
/frameworks/base/core/java/android/content/Context.java
ac5cecd85db9e1bf6e358748e9c77324978ff922 05-Dec-2017 Erik Wolsheimer <ewol@google.com> Explicitly do not support SEARCH_SERVICE on UI_MODE_TYPE_WATCH

Bug: 69950606
Change-Id: Ia195e88d8652cd7875d0ce03875034698367001c
(cherry picked from commit 980ba14b921932e85cdc0447af0398778a1c0d64)
/frameworks/base/core/java/android/content/Context.java
47b37aa03480837a7cbbce8a1201554e102fd781 16-Feb-2018 Svet Ganov <svetoslavganov@google.com> Minor autofill changes to support compat mode CTS tests.

Bug: 72811561
Test: atest CtsAutoFillServiceTestCases:VirtualContainerActivityCompatModeTest

Change-Id: I6ec2563cea75afc77a1598805988d8e6c433c574
/frameworks/base/core/java/android/content/Context.java
ceb94979e32b20496c64f6f454b4f1dbe1856341 12-Feb-2018 Qingxi Li <qingxi@google.com> Merge "Public EuiccManager APIs."
88f284a3d311b8ec8196df19d5542baa3d9a0b57 09-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Change Resources.getDrawable nullability"
ceb269362175e90899e8bdcad4319b91ee13abb6 02-Feb-2018 Chris Craik <ccraik@google.com> Change Resources.getDrawable nullability

Resources.getDrawable() was annotated @Nullable because there was one
very particular path where Bitmap decoding would fail and trigger a null
return.

As part of the switch to ImageDecoder, that path was changed to now throw
an IOException, which will result as a NotFoundException to the caller of
getDrawable.

This CL annotates that path as @NonNull to reduce pain of dealing with
@Nullable method that was very unlikely to be null in practice.

Also fixes many other missing nullability annotations, and relabel
many @Nullable paths that would never return null in practice as
@NonNull.

Bug: 69543526
Test: ResourcesTest

Change-Id: Ib01eca970c5c9969998ce5b265b120aa7048b41a
/frameworks/base/core/java/android/content/Context.java
4f73b9c09ac6ae73c22ad02872e362c817ab2d4c 13-Dec-2017 Holly Jiuyu Sun <jiuyu@google.com> Public EuiccManager APIs.

Public EuiccManager and other related necessary files.
Mark EuiccCardManager and other related necessary files as @SystemApi.
Solve lint errors and warnings.

Bug: 35851809
Test: test on phone
Change-Id: I68853e134e1e31fa9b91a83af6c491a2a8cca971
/frameworks/base/core/java/android/content/Context.java
d3bb4aed78b75365fc0d18fc31750d86404a1f47 08-Feb-2018 Jiuyu Sun <jiuyu@google.com> Revert "Public EuiccManager APIs."

This reverts commit af6a5fffdc5ef30065f8bc2d1280bbd87eae3c64.

Reason for revert: <INSERT REASONING HERE>

Change-Id: Id3296a91e5c3ad624a6a03f6532b859524a518bf
/frameworks/base/core/java/android/content/Context.java
d0acccdf254f0cea8dce56b7a48eac40c7c0240b 31-Jan-2018 Etan Cohen <etancohen@google.com> [RTT] Deprecate legacy RTT API

Bug: 65108579
Test: unit tests pass
Test: WifiRttManagerTest:test_regular_scan_then_rtt_ranging_stress
Change-Id: Ifa90acf8bb358657785b42222e68c537658c85e2
/frameworks/base/core/java/android/content/Context.java
af6a5fffdc5ef30065f8bc2d1280bbd87eae3c64 13-Dec-2017 Holly Jiuyu Sun <jiuyu@google.com> Public EuiccManager APIs.

Public EuiccManager and other related necessary files.
Mark EuiccCardManager and other related necessary files as @SystemApi.
Solve lint errors and warnings.

Bug: 35851809
Test: test on phone
Change-Id: Id7895f9b35ce9d4fb6fae42ba89ca9b29dbfa74c
/frameworks/base/core/java/android/content/Context.java
1bb9f29909016aa3be7ebe7ef52558d219696186 05-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Autofill compatibility mode."
24c90450fe3fe097a7bca51edd6a4cffd8fd13aa 28-Dec-2017 Svetoslav Ganov <svetoslavganov@google.com> Autofill compatibility mode.

Autofill helps users fill credentials, addresses, payment methods,
emails, etc without manually typing. When focus lands on a fillable
element the platform captures a snapshot of the screen content and
sends it to an autofill service for analysis and suggestions. The
screen snapshot is a structured representation of the screen content.
If this content is composed of standard widgets, autofill works
out-of-the-box. However, some apps do their own rendering and
the content in this case looks like a single view to the platform
while it may have semantic structure. For example, a view may render
a login page with two input test fields.

The platform exposes APIs for apps to report virtual view structure
allowing autofill services to handle apps that have virtual content.
As opposed to apps using standard widgets, this case requires the app
developer to implement the new APIs which may require a fair amount
of code and could be seen as a processes that could take some time.
The most prominent typs of apps that fall into this category are
browsers.

Until most apps rendering virtual content and specifically browsers
don't implement the virutal APIs, autofill providers need to fall-
back to using the accessibliity APIs to provide autofill support
for these apps. This requires developers to work against two sets
of APIs - autofill and accessibility - which is incovenient and error
prone. Also, users need to enable two plugins - autofill and
accessibility which is confusing. Additionally, the privacy and
perfomance impact of using the accessibility APIs cannot be addressed
while autofill providers need to use thes APis.

This change adds an autofill compatibility mode that would allow
autofill services to work with apps that don't implement the
virtual structure autofill APIs. The key idea is to locally enable
accessibility for the target package and remap accessibility to
autofill APIs and vise versa. This way an autofill provider codes
against a single set of APIs, the users enable a single plugin,
the privacy/performance implications of using the accessibility
APIs are addressed, the target app only takes a performance hit
since accessibility is enabled locally which is still more efficient
compared to the performance hit it would incur if accessibility is
enabled globally.

To enable compatibility mode an autofill service declares in its
metadata which packages it is interested in and also what is
the max version code of the package for which to enable compat
mode. Targeted versioning allows targeting only older versions of
the package that are known to not support autofill while newer
versions that are known to support autofill would work in normal
mode.

Since compatibility mode should be used only as a fallback we
have a white list setting with the packages for which this mode
can be requested. This allows applying policy to target only
apps that are known to not support autofill.

Test:
cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases
cts-tradefed run cts-dev -m CtsAccessibilityServiceTestCases

bug:72811034

Change-Id: I11f1580ced0f8b4300a10b3a5174a1758a5702a0
/frameworks/base/core/java/android/content/Context.java
5491881d77f65983e503b2c7dad2e60e0d745777 03-Feb-2018 Jeff Sharkey <jsharkey@google.com> Merge "Pass in the user defined by Context."
ad357d1839760849fcbcb8cbdce34003e8831acd 02-Feb-2018 Jeff Sharkey <jsharkey@android.com> Pass in the user defined by Context.

The majority of Manager-style classes already use Context.getUserId()
when making calls into the OS, so clean up the remaining callers to
unify behind this strategy.

This gives @SystemApi developers a nice clean interface to interact
across user boundaries, instead of manually adding "AsUser" or
"ForUser" method variants, which would quickly become unsustainable.

Test: builds, boots
Bug: 72863821
Exempt-From-Owner-Approval: trivial changes
Change-Id: Ib772ec4438e57a2ad4950821b9432f9842998451
/frameworks/base/core/java/android/content/Context.java
ef4c407123baa67013be43cfd8d52ac778991f47 01-Feb-2018 Patrick Baumann <patb@google.com> Marks Context.createPackageContextAsUser as System

Test: Builds
Bugs: 72450666
Fixes: 72863821
Change-Id: Id36730533524af4786898afadc5f11c9be83da26
/frameworks/base/core/java/android/content/Context.java
6149b0fa49479dbe8c6208dbd87dc5e39c7f4c13 04-Jan-2018 Ruchi Kandoi <kandoiruchi@google.com> Add UID and Service for Secure Element Application

Bug: 64994044
Test: Boot; Check Service loaded.
Change-Id: I2f48ff204acd29b1a9f6819910aba5f8f3762977
/frameworks/base/core/java/android/content/Context.java
d41477f494ab03e5f8837effd681a77ad9a2c5db 25-Jan-2018 Selim Cinek <cinek@google.com> Merge changes from topic "notification_launch"

* changes:
Added the reply draft as an extra to the content intent
Launching notification settings correctly inline
Launching Notification animations inline
7fa385abd882b8381e928d107bc81d984a8bbee4 24-Jan-2018 Selim Cinek <cinek@google.com> Launching notification settings correctly inline

Previously, the panel would still collapse when launching
the notification settings. We're now looking at the
newly returned result of the activity launch instead to
determine if we should collapse.

Bug: 69168591
Test: launch settings activity from notification guts, observe no collapsing
Change-Id: I414e7f4a9fd22d4f0b46437bfdb94e5c0f6cce58
/frameworks/base/core/java/android/content/Context.java
c697797d43b6932fc7cca1c8d7d850c3fb4d1452 17-Jan-2018 Bookatz <bookatz@google.com> Statsd broadcast subscriber

Allows a uid that uploads a statsd config to additionally
register a BroadcastSubscriber with statsd. If statsd
detects an anomaly (according to the config's Alert),
statsd can inform a BroadcastSubscriber provided in the config.
The config uses a subscriberId (just an int) to identify the
BroadcastSubscriber. It then uses StatsManager.setBroadcastSubscriber
to associate that subscriberId with a given PendingIntent.
Then, when the anomaly is detected, statsd sends a broadcast
using that PendingIntent, alerting whoever was specified by
the config/setBroadcastSubscriber.

Bug: 70356901
Test: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.alert.BroadcastSubscriberTests
Change-Id: I4d9ea9a6c8a85e61fadfd99c1513c55abbadd5e9
/frameworks/base/core/java/android/content/Context.java
c6f994207dc7ec1e699415526c71dd96ec24f6b2 22-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add pending system update info system APIs."
07342dc1755706d26e614e18fa5ab3b32c435d38 25-Jan-2017 Tao Bao <tbao@google.com> Add pending system update info system APIs.

This CL adds system APIs in android.os.SystemUpdateManager. The APIs allow
system updater apps (RECOVERY permission required) to publish the pending
system update information, and allow other apps to query the info
accordingly (requiring RECOVERY or READ_SYSTEM_UPDATE_INFO permission).

Design doc in go/pi-ota-platform-api.

Bug: 67437079
Test: Use test apps to call the new APIs to query and set the update info
respectively.
Change-Id: Id54b4a48d02922d2abd906dd7e2ec80a656fc9b1
/frameworks/base/core/java/android/content/Context.java
b0d22627e9e11bd40d305742dd4d2fe77f179a22 18-Jan-2018 Tony Mak <tonymak@google.com> Rename CrossProfileApps API as per API council feedback

Three changes:
1. android.content.pm.crossprofile - > android.content.pm
2. getProfileSwitchingIcon -> getProfileSwitchingIconDrawable
3. startMainActivity “user” parameter should be named “targetUser”

Test: atest FrameworksServicesTests:com.android.server.pm.CrossProfileAppsServiceImplTest
Test: atest frameworks/base/core/tests/coretests/src/android/content/pm/CrossProfileAppsTest.java
Test: atest cts/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/CrossProfileAppsHostSideTest.java

FIXES: 71818128

Change-Id: Icf9a6d1f8b6808935ffd79b43185c7b12235f349
/frameworks/base/core/java/android/content/Context.java
5c11024d13ee6a5d4a4c4633a5066288ec23e06c 22-Dec-2017 Holly Jiuyu Sun <jiuyu@google.com> Add EuiccCardManager and EuiccCardController.

EuiccCardManager is in the same path with EuiccManager.
EuiccCardController is in the same path with EuiccController.
Use getAllProfiles() as an example interface.
The implementation of EuiccCard and its content will be added in a
follow up CL.
The new API is marked as @hide and TODO for @SystemApi.

Bug: 38206971
Test: test on phone
Change-Id: I153937c0f79bdd1a00b06b234a6e254a3f43072c
/frameworks/base/core/java/android/content/Context.java
2e01b1d6bc24add0b344d5502fa89d47da6e18ae 11-Jan-2018 Zhi An Ng <zhin@google.com> Merge "Fix links in SERVICE string constants javadoc"
f7c1e2b7b47dbaf116d3504f9b890aec363c59c1 08-Jan-2018 Ng Zhi An <zhin@google.com> Fix links in SERVICE string constants javadoc

Bug: 68820728
Test: make docs, view docs
Change-Id: I51f89e1ca348cb54165a863dce2b21b332108e19
/frameworks/base/core/java/android/content/Context.java
742bacc9bc687316d6de736bae941be236b3954d 09-Jan-2018 Kevin Hufnagle <khufnagle@google.com> Merge "docs: Revised descriptions of binding and connecting to services."
34acbc9bf93ddb49e6d706661c441c4a851c0582 30-Jun-2017 Kevin Hufnagle <khufnagle@google.com> docs: Revised descriptions of binding and connecting to services.

Clarified that Context.bindService() returning true only indicates
that the system has found a service to bind to the client and that
ServiceConnection.onServiceConnected() might not be called if the
service encounters an error, such as crashing during startup.

Test: make ds-docs

Bug: 63118511
Change-Id: I0906de76abf4124d74f7f4f80ac0eab3cbf94f7e
/frameworks/base/core/java/android/content/Context.java
a0688e0321a3c911080d7a5a4ae7bf196198c319 07-Dec-2017 Etan Cohen <etancohen@google.com> [RTT2] Baseline public Wi-Fi RTT API

Basic Wi-Fi RTT API for ranging to APs + Wi-Fi Aware peers.

Note: no functional tests, just unhiding/comment fixes.

Bug: 65108607
Test: builds, unit tests, integration tests.
Change-Id: I532ca35c866a7862859a0e64d9f7eccd95baa83d
/frameworks/base/core/java/android/content/Context.java
091d7771d4bb47333341115940782f4a346e4ce7 05-Jan-2018 Etan Cohen <etancohen@google.com> [RTT2] Clean-up the RTT service name

Replace place-holder rttmanager2 with final wifirtt.

Bug: 65108607
Test: integration tests
Change-Id: I287c2173a67b047f2796f12189ce269c416d87d7
/frameworks/base/core/java/android/content/Context.java
9240c7fdc078b847df9f222c281baa72f9aa6840 29-Dec-2017 Tony Mak <tonymak@google.com> Fix the lint checking of CROSS_PROFILE_APPS_SERVICE

Bug: 67765768
Test: BUILD

Change-Id: I6ce794c5266018c55ccbdf73c9c9cc5dd944a66b
/frameworks/base/core/java/android/content/Context.java
8f90bcc50ae6413c587a3086faf56ac87b0d6dcf 23-Dec-2017 Svet Ganov <svetoslavganov@google.com> Document which sys services can be accessed by instant apps

This change documents that some system services are not available
to instant apps due to the restricted security sandbox they run in.
Also ensure that if target SDK is P WallpaperManager is null if the
backing system service cannot be looked up to be consistent with
the way other system services behave.

Test: Manual

Fixes: 70984822
Fixes: 69848394

Change-Id: I9aae884d5840c92136c7d713fac87e7732dc2642
/frameworks/base/core/java/android/content/Context.java
d223db316d11a625a73f86392e7055d5c6f26e7d 22-Dec-2017 Svet Ganov <svetoslavganov@google.com> Add infrastructure for running a11y tests in instant mode

This change adds a special flag when binding to a service to request
instant apps to be considered as well (assuming the caller has the
permission to see instant apps). This flag is scoped only for the
platform to use and is intended only for development and testing.
Specifically, we have a class of CTS tests that has tests plus service
in the same APK (accessibility, printing, autofill, any other plugin
based sub-system).

Instead of doing the tediuous work split all these into one APK with
tests and one with the services where the latter exposes a remote
interface to the former, we will be adding shell commands to the
dedicated sub-system to allow temporary binding to plugins provided
by instant apps. The goal is not validating the plugin behavious,
rather a working plugin is required to test app side funcionality.

This change adds a shell command to allow the a11y manager serivce
to bind to plugins provided by instant apps. This is required to
be able to run relevant CTS test cases in instant mode.

Test: cts-tradefed run cts-dev -m CtsAccessibilityTestCases
cts-tradefed run cts-dev -m CtsAccessibilityServiceTestCases

Bug: 70978575

Change-Id: Ifced735a9a6e495747372dd8b00fdd64933a09c7
/frameworks/base/core/java/android/content/Context.java
895d73105b09d95e9e86a4e55131f08dc9193674 14-Dec-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add more IntDef prefixes for auto-documenting."
ce8db9911494225fcd99711d7df85a130de5a6ce 14-Dec-2017 Jeff Sharkey <jsharkey@android.com> Add more IntDef prefixes for auto-documenting.

Test: builds, boots
Bug: 70177949
Exempt-From-Owner-Approval: annotation-only changes
Change-Id: I76dde6054e06f52240bd4b1a0f196dcb74623608
/frameworks/base/core/java/android/content/Context.java
8439ac08b1b8ef362cd649dbefdea4ac140051e2 13-Dec-2017 Jeff Sharkey <jsharkey@android.com> Start accepting Executors instead of Handlers.

After discussion in API council, our new best-practices are to have
developers provide an Executor to dispatch callbacks/listeners on,
instead of the previous guidance of using a Handler.

Define Context.getMainExecutor() to easily obtain an Executor
associated with the main thread of application. This allows new
APIs to require a @NonNull Executor. Also define a new
@CallbackExecutor auto-doc annotation that explains background and
points developers at new Context method above.

Test: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.cts.ContextTest#testMainLooper
Test: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.cts.ContextTest#testMainExecutor
Bug: 70348426
Change-Id: I536892bcd80fcfba1bb1ddf67648c08a26d7ddd2
/frameworks/base/core/java/android/content/Context.java
27674aedc0c2fe6f013ea0d6722bdb0d17fc7c57 11-Dec-2017 Jeff Sharkey <jsharkey@google.com> Merge "Add auto-doc support for @StringDef."
5db9a911354271abdc13a2a645d0de7d2619010e 09-Dec-2017 Jeff Sharkey <jsharkey@android.com> Add auto-doc support for @StringDef.

Behaves pretty much the same as @IntDef, but now supports "suffix"
in addition to "prefix" when matching constants.

Test: manual docs output looks sane
Bug: 70406696
Change-Id: I35064b0f9f36f1f13ccdb40302d818a004014f15
/frameworks/base/core/java/android/content/Context.java
46efb4810011e8ce124b01e28f02d4c767658094 07-Dec-2017 Etan Cohen <etancohen@google.com> [RTT2] Update RTT service name

Change to a sensible name which doesn't conflict with legacy RTT
service.

Bug: 65108607
Test: unit test, integration test
Change-Id: I54855635061c09e8d4bd2e97bac049f2893de123
/frameworks/base/core/java/android/content/Context.java
f10f83d5071ae74f38d4dec19500b53ac177e8bf 06-Dec-2017 Chris Tate <ctate@android.com> Merge "Introduce ServiceConnection#onNullBinding()"
8f5f7ff5faa46d4daca3d99f591567a21c591079 17-Oct-2017 Jason Monk <jmonk@google.com> Add system service for slices

Will be used to manage permissions and possibly pinned state for slices.

Test: manual
Change-Id: Ie53f4988f817ac5b920087567dbac751e2857dbf
/frameworks/base/core/java/android/content/Context.java
5d73b6d7a9e07d876ce35484c1b82f96407cf77a 07-Oct-2017 Christopher Tate <ctate@google.com> Introduce ServiceConnection#onNullBinding()

Historically, if a service returns null from onBind(), the binding app
gets no information about the outcome: the ServiceConnection is never
invoked. We now introduce a new connection callback, onNullBinding(),
for apps that need to detect this situation. When the service rejects
the binding by returning null, the onNullBinding() callback in the
associated ServiceConnection is invoked instead of onServiceConnected().

onNullBinding() has an empty default implementation, so there is no
binary-compatibility impact of this new interface method.

Bug: 67377345
Test: atest android.app.cts.ServiceTest

Change-Id: I224512c118f7d6e5c1c2bb69eca1902882e73594
/frameworks/base/core/java/android/content/Context.java
ff1e93a341c4c74cae39392f7fc18a831eb14fbf 01-Dec-2017 Jon Dormody <jond@google.com> Merge "Docs: Added mention that the getSharedPreferences method is thread safe." into oc-dev am: fb839ce59a am: 728ca235b5 am: 37db2694eb
am: f506b49aa6

Change-Id: Ie4a7176be63ddcc8f1e4e9fad98ee2644f0a6758
f506b49aa64a9f80c873eeb171997e99df4a1157 01-Dec-2017 Jon Dormody <jond@google.com> Merge "Docs: Added mention that the getSharedPreferences method is thread safe." into oc-dev am: fb839ce59a am: 728ca235b5
am: 37db2694eb

Change-Id: I98151cf907cd2f635c8f4a0e128ff697024b3a54
37db2694eb6f345958db1a99f64f141aa06a13db 01-Dec-2017 Jon Dormody <jond@google.com> Merge "Docs: Added mention that the getSharedPreferences method is thread safe." into oc-dev am: fb839ce59a
am: 728ca235b5

Change-Id: Ib6d81f2355ef9d902725e2e1ee1cd5337f4294ad
728ca235b5a8ec7953981bd69d6e9a33bf9e433a 01-Dec-2017 Jon Dormody <jond@google.com> Merge "Docs: Added mention that the getSharedPreferences method is thread safe." into oc-dev
am: fb839ce59a

Change-Id: Ic135f510c6e5ff8a9a00f2d2be1fcc0c284dd5cf
1bca5db0cbf9465f6d6307afa293077dbf0175c3 16-Nov-2017 Jonathan Dormody <jond@google.com> Docs: Added mention that the getSharedPreferences method is thread
safe.

Test: make ds-docs

Bug: 5370116
Change-Id: I5aa851db5e1dbcb3563f1ce15f96cc10c80e90ba
/frameworks/base/core/java/android/content/Context.java
adaf8b344e312853530e276ceff05783133ecf17 03-Nov-2017 David Chen <dwchen@google.com> Adds client API for interacting with statsd.

This API will primarily be used by GmsCore to send updated configs.
Also, sending a config will implicitly notify the StatsD that this
client wants to know when it should request data for this config.

We send a broadcast so that all interested subscribers can know if
data needs to be pulled.

Test: Manually tested that sending broadcast works via new adb
command added in StatsService.

Change-Id: I23cdd1df706036e14b32c3d01af30c3d4af819fa
/frameworks/base/core/java/android/content/Context.java
3bba35111e844fbc906255e2dead386a96520ae4 13-Nov-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Introduce CrossProfileApps API"
1a6e667cb6e9211908d02eb21c50c006473376f9 27-Oct-2017 Ricky Wai <rickywai@google.com> Add Network security watchlist service

Network security watchlist service is a service to monitor all potential
harmful network traffic. By setting a network watchlist, any connections
that visit any site from watchlist will be logged.

Logs will be aggregated everyday and encoded using differential
privacy before exporting it from framework.

This feature is disabled now, run "setprop ro.network_watchlist_enabled true" to enable it.

All network events are handled in an async bg thread, it should not
cause any delay in netd. Also, it uses the hooks in enterprise network logging,
so we can run netd_benchmark to measure the impact to netd.

Here are the things not included in this CL:
- ConfigUpdater to get and set watchlist
- Differential privacy encoding logic and reporting
- CTS
- Memory and performance optimization for internal watchlist data structure

Test: manual - turn on the feature, hard code a watchlist xml, process
that visited that domain is being logged in sqlite.
Test: run netd_benchmark - seems no obvious performance change.
Test: bit FrameworksCoreTests:android.net.NetworkWatchlistManagerTests
Test: runtest frameworks-net
Test: runtest frameworks-services -p com.android.server.net.watchlist

Bug: 63908748

Change-Id: I09595178bac0070a867bc5e0501a7bf2c840e398
/frameworks/base/core/java/android/content/Context.java
1b708e68b3cc1eedecd6201286393edbc7a8aa73 12-Oct-2017 Tony Mak <tonymak@google.com> Introduce CrossProfileApps API

CTS will be in next CL.
APIs for labels/ icons of profile switching are not implemented yet.

Test: Wrote a test app to play around the APIs
Test: bit FrameworksServicesTests:com.android.server.pm.crossprofile.CrossProfileAppsServiceImplTest
BUG: 67765768

Change-Id: I27714aa4a8d61c6df398cbc5112cb4c35316a3fb
/frameworks/base/core/java/android/content/Context.java
8d5bb577f49a9cf3a6cead707f45a30cd2e78982 17-Oct-2017 Tim Zheng <timzheng@google.com> Remove an extra line in a comment.

This line seems to have been added back inadvertently.

Test: Comment change only.
Change-Id: I64496b70ad7095d14577eedc10f1557d10460315
/frameworks/base/core/java/android/content/Context.java
e541b65c03d1aaad9b45ebf2f542f2e16b5320d0 05-Oct-2017 Felipe Leme <felipeal@google.com> Merge "Sets AutofillClient on attachBaseContext()" into oc-mr1-dev am: 6d17d9d0cf
am: 63b45a87d5

Change-Id: Ib7ae51cf0336c4cea8ff90d60995816d43b3fa36
63b45a87d5dc832eb4783d1505df0bc7cf44a629 05-Oct-2017 Felipe Leme <felipeal@google.com> Merge "Sets AutofillClient on attachBaseContext()" into oc-mr1-dev
am: 6d17d9d0cf

Change-Id: I4b1d2a4e308a91d15282ae99ee158b7004b91211
bb567ae6c0374e5fe8d62273234cf470577133de 04-Oct-2017 Felipe Leme <felipeal@google.com> Sets AutofillClient on attachBaseContext()

When an activity overrides attachBaseContext(), the attached context must share
the same AutofillCient, otherwise it will break autofill in the activity.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases -t android.autofillservice.cts.AttachedContextActivityTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases

Fixes: 67350639

Change-Id: I6b0c4c2fab5fa68eb6ee0714e107ca0816efb2cb
/frameworks/base/core/java/android/content/Context.java
48ffde7ed077c8658d5d87a9d1bd100413953ac3 03-Oct-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "[RTT2] New (v2) Wi-Fi RTT framework"
17ba47254ceabc27c3c8ebc8728fa6c0d55975bc 21-Aug-2017 Etan Cohen <etancohen@google.com> [RTT2] New (v2) Wi-Fi RTT framework

Replace existing Wi-Fi RTT manager framework. Creating new framework
in parallel since there's code using the new framework - will be
switched over once new version ready.

New version is AIDL-based.

Bug: 65014552
Test: unit tests and integration tests
Change-Id: Id468c9b2a3c94eb30959f5ac5e4b1688fb8fc633
/frameworks/base/core/java/android/content/Context.java
a61d0899de2cf948a920b93d8d0a4461c9b0da82 27-Sep-2017 nharold <nharold@google.com> Merge changes from topic "re-enable-ipsec" am: 680525c742 am: 8d306cd78a am: 80107540bb
am: 80b90ed99a

Change-Id: Idffe4296539c6f0db00ce3ec2e5241224ece39b4
80b90ed99a29a860be70b7aeb3f6d0dc81575b8b 27-Sep-2017 nharold <nharold@google.com> Merge changes from topic "re-enable-ipsec" am: 680525c742 am: 8d306cd78a
am: 80107540bb

Change-Id: I13a7134864a648aff9338fda044b3bffd653119e
8d306cd78a2273c8d307c65530cd23541901a3ae 27-Sep-2017 nharold <nharold@google.com> Merge changes from topic "re-enable-ipsec"
am: 680525c742

Change-Id: Ia1d1f3981a9dd1eb8f60631d318211daf135d575
d999d225a8ebd5662b61d7f67bb402d8e5cb965b 12-Sep-2017 Nathan Harold <nharold@google.com> Re-Expose IpSecService API Surface

Note, This reverts commit bd62d6aff264b8e8ce4a06ca6417e69bcca3006b.

Bug: 64800246
Test: compilation
Change-Id: I709d4c476647cfe9f6b982fc373f8d76018b3922
/frameworks/base/core/java/android/content/Context.java
947264128775be7f47d3e170a0fbeb6a14a5241e 31-Aug-2017 Bookatz <bookatz@google.com> Set up StatsCompanionService.java

Introduces StatsCompanionService.java and sets it up as a system service.

This service is a helper for statsd. It will be responsible for setting
and cancelling alarms related to polling stats and anomaly detection.

It currently does not have selinux permission, so must be started
manually (or with selinux temporarily disabled).

Test: disable enforcing selinux, then set and cancel alarms and make
sure they work.

Change-Id: I3bd73acdd998ee424696cce40965134c14220d8f
/frameworks/base/core/java/android/content/Context.java
4e9806c4b47c22144055440ecad95fd4d2c1aeba 11-Aug-2017 Ian Pedowitz <ijpedowitz@google.com> Revert "Time zone update API classes"

This reverts commit fe6ec56cce981731be7d0bc0e61a0411d0a0d2cf.

Fixes: 64606807
Test: Grab the cts binaries(android-cts.zip) from OC Release
Test: Extract and from android-cts/tools directory, launch ./cts-tradefed
Test: On the DUT with CL cherrypicked, run the below(will run this test on both abi's):
Test: run cts -m CtsPermission2TestCases -t android.permission2.cts.PermissionPolicyTest#testPlatformPermissionPolicyUnaltered --skip-connectivity-check --skip-preconditions --serial <device serial>
Test: android.permission2.cts.PermissionPolicyTest#testPlatformPermissionPolicyUnaltered doesn't fail for android namespace:android.permission.TRIGGER_TIME_ZONE_RULES_CHECK
Change-Id: I238e2b6fa7ce60e6a8cbfebcd13e5e4c596834af
Merged-In: I31b55e88072dd73055cb3d8cf252be6eac920322
/frameworks/base/core/java/android/content/Context.java
bad118a0b439d4af898db66b5ac6b15d21e5be0d 22-Jul-2017 David Friedman <dmail@google.com> Merge "Docs: Updates guidance about using permissions when accessing OBB expansion files, Bug: 34273998 Test: Ran "make" to verify error-free building." into oc-dev am: e4d0557334 am: f20c492190
am: ff160ae465

Change-Id: I38aa24b225827f7a280f5fcd85c08a0424d10b06
93a1ab8ba19062ce64cf5e04157b30f34494153b 22-Jul-2017 David Friedman <dmail@google.com> Merge "Docs: Updates guidance about using permissions when accessing OBB expansion files, Bug: 34273998 Test: Ran "make" to verify error-free building." into oc-dev am: e4d0557334
am: f20c492190

Change-Id: I57da50e47d3fdfefa245baffdeaf16322b28fa30
f20c492190fb445a8b8118c3276df1b198fa4277 22-Jul-2017 David Friedman <dmail@google.com> Merge "Docs: Updates guidance about using permissions when accessing OBB expansion files, Bug: 34273998 Test: Ran "make" to verify error-free building." into oc-dev
am: e4d0557334

Change-Id: I931088e43f29707e1ab5d9764a06adbbe5af1d7e
cfe508824f1f627969353003c4ec3885ac20ba1b 05-Jul-2017 Dave Friedman <dmail@google.com> Docs: Updates guidance about using permissions when accessing OBB
expansion files,
Bug: 34273998
Test: Ran "make" to verify error-free building.

Change-Id: Ic2022bd8bd78e2f6077d6ee6807fbbda7214737a
/frameworks/base/core/java/android/content/Context.java
547964fc4370c60d6cc34e67797706977856ee76 10-Jul-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "SystemServer: Support for LowpanService"
2b8286d2180e4efd2bbe6a2eada215b1f08bb57d 10-Jul-2017 Tor Norbye <tnorbye@google.com> Merge "Add COMPANION_DEVICE_SERVICE to @ServiceName"
87a7104ae97c4c389611947acedd4e8e30758ae4 16-May-2017 Robert Quattlebaum <rquattle@google.com> SystemServer: Support for LowpanService

The LowpanService implementation can be found at:

platform/frameworks/opt/net/lowpan/service

Bug: b/33073713
Change-Id: Ibca9c452492bf171bd2c30efdb44ddb472494c3b
/frameworks/base/core/java/android/content/Context.java
8246c07fa2d38b3b5859f43b5cc86ea4fbdf6176 07-Jul-2017 Tor Norbye <tnorbye@google.com> Add COMPANION_DEVICE_SERVICE to @ServiceName

This constant is now supported by Context#getSystemService
but was not added to the @ServiceName typedef.

Test: Manual (after metadata update in the tools, checked
code completion for getSystemService() call)

Change-Id: If1916726b57c8f187ecc8401dd7fafaa9ba216d0
/frameworks/base/core/java/android/content/Context.java
b7773ce8751b424b824cdd1e78a95520d124734c 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.

Bug: 62813533
Bug: 62879353
Test: Manually done
Merged-In: I4442ddc48dadb5c968b444be86038b602074d301
Change-Id: I4442ddc48dadb5c968b444be86038b602074d301
(cherry picked from commit 6d6cd68660635d670b0cb17f348b7c1da13704b3)
/frameworks/base/core/java/android/content/Context.java
ba12631bba5ea856b78c3488d988584ead8969fb 23-Jun-2017 Seigo Nonaka <nona@google.com> Merge "Stop loading other package's font by default." into oc-dev
am: 824d75e0e1

Change-Id: I5518dbd8b5d8a4548ea00bbfca0e3aee87880ee7
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
/frameworks/base/core/java/android/content/Context.java
25f69f79683e093591a08ca828497cfaabf4d0e2 23-Jun-2017 Tomasz Wasilczyk <twasilczyk@google.com> Merge "Rename Broadcast Radio service to avoid confusion with GSM radio."
6d6cd68660635d670b0cb17f348b7c1da13704b3 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.

Bug: 62813533
Bug: 62879353
Test: Manually done
Change-Id: I4442ddc48dadb5c968b444be86038b602074d301
/frameworks/base/core/java/android/content/Context.java
9110df7bf506e2ef5048107864bad6ceabd13d10 22-Jun-2017 Tomasz Wasilczyk <twasilczyk@google.com> Rename Broadcast Radio service to avoid confusion with GSM radio.

Bug: b/36863239
Test: instrumentalization
Change-Id: I6f6ab7353e8db81b04ffd3cd9d65bfe9a32f4628
/frameworks/base/core/java/android/content/Context.java
09e5b54fd5d0f41981934e9b595cca10825c2b9e 17-Jun-2017 Phil Weaver <pweaver@google.com> Merge "Separate a11y and autofill view ids" into oc-dev am: c91290a6e9
am: 8b2816faa3

Change-Id: I567471d68e6ad5b60fcf33eda47e5d99bdb49f2b
0da21f56e49257091eaaccaaf8fdc0728e9c929c 17-Jun-2017 Phil Weaver <pweaver@google.com> Merge "Separate a11y and autofill view ids" into oc-dev
am: c91290a6e9

Change-Id: Iec71a9ae34f963ef1f0ce7f6bd09b5af5bbba6e6
8b2816faa3b98a2d19c97dcf123a58741ef4f8a2 17-Jun-2017 Phil Weaver <pweaver@google.com> Merge "Separate a11y and autofill view ids" into oc-dev
am: c91290a6e9

Change-Id: Ib4566c2f0e32477d5f9eb6510edc140c2b66e0a4
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
/frameworks/base/core/java/android/content/Context.java
ec68b46bc85b2317053da7e2933876fc6e51ac2f 06-Jun-2017 Jeff Sharkey <jsharkey@google.com> Merge "Annotate @SystemApi with required permissions." into oc-dev am: c1406978a4
am: 7a2e4a8486

Change-Id: Ib629e25dbf047c110feaf03e4ff744b5c6df9aeb
7a2e4a848602ddb861f9f35cb93edbdca32a7db1 06-Jun-2017 Jeff Sharkey <jsharkey@google.com> Merge "Annotate @SystemApi with required permissions." into oc-dev
am: c1406978a4

Change-Id: I305967cad945a807c3f8234efabaad0ef8b591d1
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
/frameworks/base/core/java/android/content/Context.java
fe2368c38cc8ed57dbf7fb2614ca2d7939262818 18-May-2017 Christopher Tate <ctate@google.com> Refresh in-memory SharedPreferences instances after restore

Existing instances don't know that the file has changed out from
under them, so they continue to return stale values from reads, and
risk overwriting restored data with stale content if writes are
performed. We now tell the backing cache system to induce a
reload after restore (i.e. after we might have written a relevant
file out from under it).

Along the way we shook out an irregularity in the way we were
setting up the context topology of non-lifecycle instances of
the metadata-handling BackupAgent subclass, so that's fixed
now too.

Bug 12061817
Test: cts-tradefed run cts -m CtsBackupHostTestCases

Change-Id: I401fe9297235b55d8a8f041e430d122dc6e24129
/frameworks/base/core/java/android/content/Context.java
b59fe93059647990ec0174f35f3de79f4d0cdd2e 09-May-2017 Abodunrinwa Toki <toki@google.com> Merge "Remove redundant TextClassificationService" into oc-dev am: 104590844e
am: 41564af248

Change-Id: Ib7c77dd40de6c72bd843af680f59972708a4b121
41564af2481ec8d0804ac9daf68b0d479ab9a02a 09-May-2017 Abodunrinwa Toki <toki@google.com> Merge "Remove redundant TextClassificationService" into oc-dev
am: 104590844e

Change-Id: Ib2881e478819eaff8910f5a0982e4f048e4bb7c1
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
/frameworks/base/core/java/android/content/Context.java
167b0473854c967479f3bcf81978bc21bdf5d6bd 16-Mar-2017 Neil Fuller <nfuller@google.com> Time zone update API classes

Time zone update API classes. Currently hidden but they
will go on to be unhidden in future.

This forms the basis of client and system server code to
support time zone updates.

Tests can be run with:

make -j30 FrameworksCoreTests
adb install out/target/product/angler/data/app/FrameworksCoreTests/FrameworksCoreTests.apk
adb shell am instrument -e package android.app.timezone \
-w com.android.frameworks.coretests \
"com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner"

This contains a cherry-pick / conflict resolution of
commit bede17c216815a849be0c43d5ce7daaf750a9fac after an automerger skip.
(cherry picked from commit bede17c216815a849be0c43d5ce7daaf750a9fac)

Bug: 31008728
Test: See above.
Merged-In: I668bc8ac0cb78f3d4d9a4b7ad6ac1534b88af833
Change-Id: Icde574f8974152617a1f7ac9fa225bd5011dcce1
/frameworks/base/core/java/android/content/Context.java
fe6ec56cce981731be7d0bc0e61a0411d0a0d2cf 16-Mar-2017 Neil Fuller <nfuller@google.com> Time zone update API classes

Time zone update API classes. Currently hidden but they
will go on to be unhidden in future.

This forms the basis of client and system server code to
support time zone updates.

Tests can be run with:

make -j30 FrameworksCoreTests
adb install out/target/product/angler/data/app/FrameworksCoreTests/FrameworksCoreTests.apk
adb shell am instrument -e package android.app.timezone \
-w com.android.frameworks.coretests \
"com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner"

Bug: 31008728
Test: See above.
Change-Id: I668bc8ac0cb78f3d4d9a4b7ad6ac1534b88af833
/frameworks/base/core/java/android/content/Context.java
8a40a4ca2767ca2ffdeef8bf44a12e17933dd17f 30-Apr-2017 Dianne Hackborn <hackbod@google.com> Merge "Work on issue #36891897: Need to ensure foreground services can't..." into oc-dev am: f1a4b50739
am: a766f1d1ec

Change-Id: I82c6b62af3d4eddbd4e97c83b2bb7d4a1657c63d
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
/frameworks/base/core/java/android/content/Context.java
35eb324bf17e63a2e28c08484313d195e3f1e7f6 26-Apr-2017 Nathan Harold <nharold@google.com> Merge "Hide IpSecManager, IpSecTransform, and IpSecAlgorithm" into oc-dev
17472fa1c1621b34a552ec467239aab8f78a48b6 26-Apr-2017 nharold <nharold@google.com> Merge "Hide IpSecManager, IpSecTransform, and IpSecAlgorithm" am: 01e368f26d am: 939528045a am: 52dab83f7a
am: 9f218096de

Change-Id: Id67890a061c4e7aef91c7dea61e8706cfdd6bc6e
9f218096de824875cd53075aa8b6a8546afc8716 26-Apr-2017 nharold <nharold@google.com> Merge "Hide IpSecManager, IpSecTransform, and IpSecAlgorithm" am: 01e368f26d am: 939528045a
am: 52dab83f7a

Change-Id: I3bf240b35c3d509c4e016ffe20519c1bda5ab0b3
ac11ccb1f66d5dadb6c6fd1d47408e36c48c94ce 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
Change-Id: I8caccd3f8455341cb56a2256354eacbadedff047
/frameworks/base/core/java/android/content/Context.java
43371da3ad6a320f882556dcbbc5cf6320baafd0 26-Apr-2017 Eugene Susla <eugenesusla@google.com> Merge "Remove underscore from Companion service name" into oc-dev am: 885b5f4466
am: 56620feed0

Change-Id: I3a35f668dde82a8ccb1094988943039b4c93e4fa
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)
/frameworks/base/core/java/android/content/Context.java
885b5f4466f318431a5bd0cef8a5685c0fbc2ba1 25-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove underscore from Companion service name" into oc-dev
1f14b1509c27b227991399d0e7e5e5dc00a608ae 25-Apr-2017 Jeff Sharkey <jsharkey@android.com> Merge "Even more auto-doc work." into oc-dev am: 880f4f4cc2
am: 9652eef0b2

Change-Id: I96c77c62b6ee3b5acaa45e116d35c7114797a0b8
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
/frameworks/base/core/java/android/content/Context.java
1e91509009a5e3e3fb9e78e4f006f6023d1e6102 21-Apr-2017 Jeff Sharkey <jsharkey@android.com> Merge "Auto-generate docs based on annotations." into oc-dev am: 9ea4b33f2a
am: 045d23a6f9

Change-Id: Ib587ffea3014503833ff50096ba8cc0c84080ea3
9ea4b33f2aed9eae1678b571172997004ea3e05e 21-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Auto-generate docs based on annotations." 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
/frameworks/base/core/java/android/content/Context.java
a59e95a0479a4fb3f9dcf049470b87a1a3890c7b 20-Apr-2017 Chad Brubaker <cbrubaker@google.com> Merge "Address API review comments for registerReceiver" into oc-dev am: 1f4e053aef
am: 46f7f1c245

Change-Id: If4167d8458b144a73deeaceeaa51b1f8d482d6d7
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
/frameworks/base/core/java/android/content/Context.java
3ea7c8b6d52465b8f56c0cdb91fe02b2de511aae 20-Apr-2017 Jeff Sharkey <jsharkey@android.com> Merge "Flesh out more API docs." into oc-dev am: 3a427c3bd9
am: 750d6d12f6

Change-Id: I3778fa0ead9c23909875f88f7debba1f56c867a0
cbe10269b5bd0976e66f4216d8aec5e8871acecc 20-Apr-2017 Eugene Susla <eugenesusla@google.com> Merge "Make javadoc of companion service name more like others" into oc-dev am: 4d95e40bb3
am: aaa64afd83

Change-Id: Idbae279855b0851cf53fc1a7e17594a0590acbf3
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
/frameworks/base/core/java/android/content/Context.java
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
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
058641607fe22cb65232e3bfb58de08f66d22c38 18-Apr-2017 Christopher Tate <ctate@google.com> Merge "Turn down the preliminary foreground service API" into oc-dev am: 00ed0baca8
am: 663de998e7

Change-Id: I1c70471deaa3991945d2950d1c6e0f5bc90805b4
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
/frameworks/base/core/java/android/content/Context.java
1b674659182e5d012f86d75cc6cb0016546a4af9 14-Apr-2017 Andrew Scull <ascull@google.com> Merge "Service for OEM lock management." into oc-dev am: e52a1bfede
am: d4be031c76

Change-Id: I9ab76546a140062940c128abdc2b8b4072d3b0f2
47cdd3d8e96b09a3bd8516ffba338105d12598c1 14-Apr-2017 Andrew Solovay <asolovay@google.com> Merge "doc: Add note to Context.bindService()" into oc-dev am: 2c63aa3be7
am: 7cfe7cf19b

Change-Id: I6cd7cf2e25c0038afcf96a26ea2b8635a8ca7d95
e52a1bfede79f87a75c498730860796ba74dea83 14-Apr-2017 Andrew Scull <ascull@google.com> Merge "Service for OEM lock management." into oc-dev
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
/frameworks/base/core/java/android/content/Context.java
2b0e121c9c07c24224cc19d99f4b89df246b8cde 08-Apr-2017 Philip P. Moltmann <moltmann@google.com> Merge "Restore session on new window after app kill" into oc-dev am: 51785edbe9
am: a839e15a65

Change-Id: Ieba9858a808080aba74a3fd45021dac69ad83453
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
/frameworks/base/core/java/android/content/Context.java
c8027517047237995a4f362d7367db0532b1d4bf 04-Apr-2017 Seigo Nonaka <nona@google.com> Merge "Reorganize font enumeration API." into oc-dev am: 2ac9698271
am: de5fa6b3d8

Change-Id: I72a02f3f681b3b5f82cffc317fe0668e842464fe
2ac969827115c1b8bc86d9017eb1c7c1d5421b10 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Reorganize font enumeration API." into oc-dev
bcc5b9f569356fa5076ca7348c40f521035a55d6 04-Apr-2017 Adam Lesinski <adamlesinski@google.com> Merge "Themes: Apply themes to system_server safely" into oc-dev am: a52fc49845
am: b188c93a45

Change-Id: Idb98d85c8f98588bce7ca6480b5ac4a673050940
a52fc49845d1103dea2380f34b96e2a22ea1801e 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Themes: Apply themes to system_server safely" into oc-dev
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
/frameworks/base/core/java/android/content/Context.java
35cda39422acdeb3fa47ca60f131678e52dbfcb3 27-Feb-2017 Jeff Davidson <jpd@google.com> Squashed merge of master-sim into master.

Includes the following commits:

==

New system feature: eUICC.

Presence of this feature implies that eUICC-related APIs are expected
to function as long as an eUICC is present in the device. Note that an
eUICC may be embedded in the device but may also be removable.

==

Add empty EuiccManager API and plumbing.

==

Add stub EuiccService.

EuiccService is the class that the LPA app must implement; for now,
just define the action and priority so that the implementation can be
found. Actual methods will come later.

Also declare two relevant permissions: BIND_EUICC_SERVICE, which the
implementation must require (so that nobody else can bind to the
service directly), and WRITE_EMBEDDED_SUBSCRIPTIONS, which permits
signature|privileged apps and CTS (via development) to access
EuiccManager APIs.

==

Add UiccAccessRule based off UiccCarrierPrivilegeRules#AccessRule.

This class can be used to transfer access rules between an
EuiccService implementation and the platform.

We also add a simple encoding/decoding of a list of rules so that they
may be stored in the subscription info table.

==

Add getEid() to EuiccManager/EuiccService.

getEid() fetches the EID. It requires either a privileged permission
(READ_PRIVILEGED_PHONE_STATE) or carrier privileges on the
currently-active profile. Until there is a use case that requires
opening this up to apps with only READ_PHONE_STATE, we shouldn't do
so.

To avoid churn in the future, the API signatures for EuiccService
include a slot ID to identify which SIM slot is being used. However,
this parameter is currently not populated correctly (nor is it usable,
as no Telephony APIs accept a slot ID to address commands). There is
no need to expose it yet in the EuiccManager APIs as we expect to
follow the TelephonyManager pattern of allowing per-slot instances of
EuiccManager in the future while keeping other method signatures the
same.

==

Define Euicc UI actions in EuiccManager/EuiccService.

The EuiccManager actions are to be implemented by the platform (and
only the platform), which forwards the actions to the active
implementation.

Also, remove our explicit priority meta-data tag as we can just rely
on android:priority in the corresponding intent-filter.

==

APIs for downloading embedded subscriptions.

Includes:

-getDownloadableSubscriptionMetadata, used by the platform and LUI to
fetch metadata about a downloadable subscription. The platform will
use this to perform the necessary permission checks (only allowing
otherwise-unprivileged apps to download profiles that are permitted
per the subscription metadata), and the LUI can use this to present
the name of the profile.

-downloadSubscription, to actually perform a profile download.

The stub for startResolutionActivity is included but not implemented;
resolution activities will be handled in a follow-up change.

==

Test: TreeHugger
Change-Id: I47b1da5a69f0736012cb137e02cd6c4e07fdaace
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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)
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
96b98321635dac0334f50f9711313ceb981f8f1e 17-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "API for accessing preloaded files cache"
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
28ba4722a9e77ce98de454ed2ac862e44f496632 26-Jan-2017 Elliot Waite <elliotwaite@google.com> Fix @links in reference docs. am: 54de77470d
am: ab978c035e

Change-Id: If0d0613362e0ea95cf48eaf9a16d3eea48b589ea
54de77470de4f605eef7f4b4e01718b301fe275e 12-Jan-2017 Elliot Waite <elliotwaite@google.com> Fix @links in reference docs.

Change-Id: I40cea46efd80c448640ff69753698fe8404da40b
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
9e83cbbc10014b3ed560b3181f594868cd89f9ae 19-Jan-2017 Chris Tate <ctate@android.com> Revert "Enable background restrictions"

This reverts commit 21f778060badb1e78bffde05e8de7662d275003d.

Change-Id: I65586f9739da84fb32b51b0ea166b8288c41d1b3
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
b32dfa4ef59e2cdf91360499ae80626fbe48340b 12-Jan-2017 Etan Cohen <etancohen@google.com> Merge "[AWARE] Unhide Wi-Fi Aware API (baseline)" am: dfe8f5dc13
am: 2a4e3bef2c

Change-Id: I6f894d92451032657678639c3021eef07289a6a2
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
8c232935f0225823ae9bc38483d1daf40e46f291 19-Dec-2016 Mark Lu <marklu@google.com> docs: remove implicit intent from bindService and startService am: 94ebbe0e58
am: d7c29565ba

Change-Id: Ife9581030d8579d6e2dd625814a049d5f488229a
94ebbe0e5868a6bc8b2ffe37d5fbefe02e1048eb 14-Dec-2016 Mark Lu <marklu@google.com> docs: remove implicit intent from bindService and startService

bug: 18295867
Change-Id: Ib4b561dd215f4b124ce9a90b446bc03676f7e00a
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
86f39a4287137caf052adc5d000b98ba0d526ce2 16-Nov-2016 Kweku Adams <kwekua@google.com> Fixing typo in method comment.

Test: none

Change-Id: I5583e4de17da0ddd28b12ee879b27a24734906fb
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
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
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
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
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)
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
52c8edc2d8406a90c128d9e0ae86c62e88e618c9 25-Jul-2016 Chad Brubaker <cbrubaker@google.com> Add asUser version of sendBroadcast(Intent, String, Bundle)

Change-Id: Id87aa1123d6c0a8a036ed9430eee10357040321f
/frameworks/base/core/java/android/content/Context.java
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
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
/frameworks/base/core/java/android/content/Context.java
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
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
/frameworks/base/core/java/android/content/Context.java
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
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
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
/frameworks/base/core/java/android/content/Context.java
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
55b2d11cd30b0088206750cf38cca94b5a229e35 18-May-2016 Robert Sesek <rsesek@google.com> Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE.

Bug: 28775488
Change-Id: Ic0473d3664671f0ac5df8412f61ca8c1d029887f
/frameworks/base/core/java/android/content/Context.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
538c440c33fc2b9e0bf0c680ddbb14f9a079ff6a 11-May-2016 Makoto Onuki <omakoto@google.com> Remove ShortcutManager

Bug 28704708

Change-Id: If7b739adeec38d81d554fc1cf34c81194f5d67b9
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
1e3535276365da64ad066bffc86238ed04a7ae13 18-Apr-2016 Chris Craik <ccraik@google.com> Document startService cost

bug:27998068

Change-Id: Iab66c21856a08678e29a1e5cf26a5f71a22027da
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
ac329d3e34e99e10243906d32cc4e36c626ac8ee 16-Mar-2016 Ashutosh Joshi <ashutoshj@google.com> Merge "Exposing Context Hub service." into nyc-dev
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
/frameworks/base/core/java/android/content/Context.java
7020aa66bf7aac6b2e834447332763fc6c1a62eb 14-Mar-2016 Polina Bondarenko <pbond@google.com> Merge "Renamed HARDWARE_PROPERTIES_SERVICE to hardware_properties." 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
/frameworks/base/core/java/android/content/Context.java
8333c7327fb464060d244be250df7097d88c3bb6 09-Mar-2016 Polina Bondarenko <pbond@google.com> Renamed HARDWARE_PROPERTIES_SERVICE to hardware_properties.

Bug: 27531271
Change-Id: I7a86c6e320fa7fd803db3927c4cdfeeb019762ca
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
8b8b242985d3b12d21be11e8f0efb74d3236ea74 27-Jan-2016 Polina Bondarenko <pbond@google.com> Merge "HardwarePropertiesManager: Add API for hardware properties retrieval"
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
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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.
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
a73b8fd1f4faaad00d8a49d6e496aaf249fa7003 07-Jan-2016 Jeff Sharkey <jsharkey@android.com> Add some TestApis to fix build.

Change-Id: Icf0d8d63f3a41d99e46ebe96003863bae637bd9d
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
a21e6b2fac2a2ecb1963ab5c04c9540109337842 02-Dec-2015 Sunny Goyal <sunnygoyal@google.com> Adding context flag to open database with no localized collators

Bug: 25956606
Change-Id: I209a8d18a7e83c1af54309fae8607f8b46772196
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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.
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
/frameworks/base/core/java/android/content/Context.java
788fc2b904add1c8b02ac62663b61ae8fd7aed5a 06-Jul-2015 Tor Norbye <tnorbye@google.com> Annotate Intent and ContentResolver params with @RequiresPermission

Change-Id: I831cd55da9c840be0f39b77a8ae868146f089326
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
e37520b49da8fc2b7b7501c6dbbe1e6ac984dd9f 15-Jul-2015 Fyodor Kupolov <fkupolov@google.com> Revert "Allow array of required permissions in sendBroadcast"

This reverts commit b4e7283c9afd9fb15ebd63f6ce9b75c9c1af658b.

Change-Id: Ie8390964bda5bdfa869cee8f46584043d8e7c664
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
679ba4992942873845eac46c3de8f419a4736447 12-Jun-2015 Tor Norbye <tnorbye@google.com> Merge "176321: Add missing @ColorRes/@ColorInt annotations"
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
3e4cda7b1625395058306cca1ef7b24109a544b3 10-Jun-2015 Tor Norbye <tnorbye@google.com> 176321: Add missing @ColorRes/@ColorInt annotations

Change-Id: I1deb7ada45cc67a49c23032df5fb15161303ef5e
/frameworks/base/core/java/android/content/Context.java
54415439ca8d286c4efaf975a54fe0cc7872c86b 12-May-2015 Christopher Tate <ctate@google.com> Merge "Deprecate Context.MODE_MULTI_PROCESS" 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
/frameworks/base/core/java/android/content/Context.java
e3383cc4539921756232ae4f3f54e99b95fb20cc 08-May-2015 Paul McLean <pmclean@google.com> Changes as per API council review.

Bug: 20887665
Change-Id: I1da7a2c69d8cf20682c767294b1647beef33f90c
/frameworks/base/core/java/android/content/Context.java
8310f87d96791e8b864df5e821fe65273c2dd874 30-Apr-2015 Alan Viverette <alanv@google.com> Merge "ActionBar SearchView's default hint shouldn't override SearchableInfo" 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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
a33be211e768746745a0deeba71f8c6b65e72442 20-Feb-2015 Paul McLean <pmclean@google.com> Audio Devices Enumeration/Notification API

Change-Id: I4eecfa43e4fecfe309ddd805ed193d078b10d5e6
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
c91531a863d65e4a74fa30ac9a20d02ccd31f5ca 02-Apr-2015 Tor Norbye <tnorbye@google.com> Fix resource type annotations for obtainStyledAttributes

Change-Id: I7681249ff46d687675d0dcd7d4f077646efba687
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
1c2bf03d1082fc6b7eb42cbd163c60c07cf2bccc 02-Mar-2015 Tor Norbye <tnorbye@google.com> Annotate return values with @CheckReturn

Change-Id: Icd8fb6adb591ccd7f35f2336ae716b198abf69c5
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
7b9c912f536925ac6ec43935d6e97506851b33d6 31-May-2013 Tor Norbye <tnorbye@google.com> Add @ResourceInt annotations on APIs

Change-Id: I119cc059c2f8bd98fd585fc84ac2b1b7d5892a08
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
3979c0bf42734e0e608c0e583b18b892b0583377 30-Dec-2014 Michael Wright <michaelwr@google.com> resolve merge conflicts of 342e903 to master.

Change-Id: Id8404cce5c1c8e7818e5d164f93207a8c17cf7bb
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
d09c4cad65c708f2c4810d24295456708a2000d2 22-Nov-2014 Wink Saville <wink@google.com> Additional changes to SubscriptionManager API as per API council.

bug: 17575308
Change-Id: Idd98aa46c15a9219ccf28091c62602ac8bf16c62
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
4a57e908177c86819ade1ebb813677698f1a526a 20-Nov-2014 Wink Saville <wink@google.com> Merge "Additional changes to SubscriptionManager API as per API council." 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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
955d8d69ea6caabce1461dc25b339b9bf9dc61a6 08-Oct-2014 Dianne Hackborn <hackbod@google.com> Put in real "code" (aka marketing) name.

Change-Id: Idb3976edfae37293ed75cb5b869b4b42d8042bbe
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
c85029f7d9ad61f35e6cb4e842b1e75687b418ef 12-Sep-2014 Amith Yamasani <yamasani@google.com> Annotate bindServiceAsUser with SystemApi

Bug: 17470388
Change-Id: I0961e6ebabaffd91e3d152074b2f64ca4f9ba8fb
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
2c3530061fc3194fd1e654ae67ede91d45a1d3c4 30-Aug-2014 Dianne Hackborn <hackbod@google.com> Oh sticky broadcasts, I'd like to do even worse to you.

Change-Id: I36a7eae294d325d1bd88c15d52566dd4ee1f35be
/frameworks/base/core/java/android/content/Context.java
e7b6b1aae7bb5a2566ade373c21c44dff62d2768 27-Aug-2014 Jim Miller <jaggies@google.com> Merge "Hide fingerprint API until new API is ready" 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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
5ad20790a155a9da1f1b3452966edba4be9fc751 21-Jul-2014 Jeff Davidson <jpd@google.com> Expose NETWORK_SCORE_SERVICE as @SystemApi.

Bug: 15833200
Change-Id: Ide17bf0065ca7f5ab13e913dd6078b6c62741243
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
7686c061b7c5c981c79e566e3b31f68b9e21c730 01-Jul-2014 Vinit Deshpande <vinitd@google.com> Introduce RTT Manager

Change-Id: Ic9a16d587897b272f85cdb2b8c52b51bca060d18
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
35d552f7adf0ccffbd78c4220862188a198dda7d 09-Jul-2014 Wei Wang <weiwa@google.com> Make WifiScanner System API

Change-Id: I0e2ebae998165abbb48a8cee0a3723ace2ca99e5
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
b4ce1432c62a691111f1c355d744998a48b55a93 09-Jun-2014 Yorke Lee <yorkelee@google.com> Add TelecommManager to system services

Change-Id: I48a75c578a99aca1149fbae84a5d0f9ac0a457f3
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
1a2f7a1e29e59e0c9140ac5d3f465dc110c70b48 10-Jun-2014 John Reck <jreck@google.com> resolved conflicts for merge of 2d2aa0cc to master

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

Bug: 15516329, Bug: 15516710
Change-Id: Ie814513a642660b6c5fdc9e891ad1eec1b2d689b
/frameworks/base/core/java/android/content/Context.java
5adb67d4ce228a3afa6512e87d61c4d581dfd1e3 09-Jun-2014 Ed Heyl <edheyl@google.com> merge 4ce22057, regen api/current.txt

Change-Id: I39186b5c4d41753c729c5d1ee7ee96b03a45c514
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
/frameworks/base/core/java/android/content/Context.java
2c1de5b052d8c8f3779f11dbb86820f6ee2f5372 21-May-2014 Jim Miller <jaggies@google.com> Hide the fingerprint API for now. DO NOT MERGE

Change-Id: I78aadf8d03be74eb862c5fe120fa544a2483553c
/frameworks/base/core/java/android/content/Context.java
4c9e57f156d3cbd86b38e9897dfdab81964efe90 03-Jun-2014 Jae Seo <jaeseo@google.com> resolved conflicts for merge of ebe661c4 to master

Change-Id: Ic25dc762ee43654b439de3ec237ead007bee3df4
d5cc4a281e7ce29d1e8687ff3394b57a3a549260 31-May-2014 Jae Seo <jaeseo@google.com> Put TV Input Framework under android.media.tv, including TvContract

Bug: 15345342
Change-Id: I665ca23f0f074ce29cb2e047109b209178532107
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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)
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
7fee7232ee2ae45fb3cd4fcce314e8f1101ae8db 15-May-2014 Roger Chang <roger.chang@mediatek.com> Hotspot 2.0 framework - add implementation

Bug: 5485670
Change-Id: I4d0f728f4c20676232f2d61bbf49691f6e21a100
/frameworks/base/core/java/android/content/Context.java
b19c19265448a6252b1c14f3da85d52e50be34c3 19-May-2014 RoboErik <epastern@google.com> Merge "Rename session classes to have media prefix, hide routes"
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
e22b3b143240f0f18e3d6d3c06686ad3c23b131b 08-May-2014 Dianne Hackborn <hackbod@google.com> Usage stats!

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

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

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

Change-Id: I6ead28e18a7f08eafd057d6ff37dd9cb216358f4
/frameworks/base/core/java/android/content/Context.java
256daf009336f46ea76adcc940c9f05b358c1fc0 08-May-2014 Vinit Deshapnde <vinitd@google.com> Remove reference to WifiScanner till the API is made public

Change-Id: I0cb2be4338ce59e1d12f83a94edc5de39810b18a
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
99f7e125b091f494eb1cff5fd43e035c7b20ada4 16-Apr-2014 Todd Poynor <toddpoynor@google.com> Context: fixup wrong Javadoc link for BatteryManager

Change-Id: I3dec0a359185fd9bfc78d98f8232ff64e6a784dd
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
8eea3ea5591e59f55cbb4f6b2b7e9363a285ced3 04-Feb-2014 Alan Viverette <alanv@google.com> Add APIs for obtaining themed Drawable from Theme, Context

BUG: 12611005
Change-Id: Ic0057be4e4c2d0c61ce02a019b3f7d0625e3a016
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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.
6feb50b8261c79dce1d626c74e382fdddc11bcd5 15-Oct-2013 Jeff Sharkey <jsharkey@android.com> Improve external storage docs on Context.

Bug: 10461652
Change-Id: I42a3d887418e126f9dc2a9be8060a8eedd425f8e
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
a37bbc6afc9700c4b7ff7f8e116f656c608c9ae0 04-Oct-2013 Dianne Hackborn <hackbod@google.com> am 8a5f7ab6: am 22c298a5: am 7192c6d7: Merge "KLP/KitKat is now API 19." into klp-dev

* commit '8a5f7ab6e18e05a54a3ae7e0acb7e1b728ad613c':
KLP/KitKat is now API 19.
6bc3789b3982d25bf3fc09d257efa6cdb628e7f2 03-Oct-2013 Dianne Hackborn <hackbod@google.com> KLP/KitKat is now API 19.

Bug: 10348975

Change-Id: I19bf1a56064deda2e59085520960aac8ce3a825b
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
b6a3ef18342e6671d9674312b66a015d6caa80ed 13-Sep-2013 Tor Norbye <tnorbye@google.com> Merge "Add typedefs and nullness annotations."
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
/frameworks/base/core/java/android/content/Context.java
7563d42331ed7df7f026c8921ae990ce2fca9efd 11-Sep-2013 Alexander Ray <aray@google.com> Merge "Add consumer IR framework" into klp-dev
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
/frameworks/base/core/java/android/content/Context.java
51e95df8f24e9ea30775686b9e324b9a671213dc 26-Jun-2013 Erik Gilling <konkers@android.com> Add consumer IR framework

Change-Id: I786c00db0cce61ef75e4edc24e90f2cdcba6dbfb
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
511cd35fcc0b8ab048f284a6af374de8ccc69865 24-Aug-2013 Jeff Brown <jeffbrown@google.com> Docs changes pursuant to API review feedback.

Change-Id: I74c51791192f7fefad4e299d25c91438cbf6ab73
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
f45c9a0c6a3572b672ac5e531397516ec1e05c8a 07-Aug-2013 David Christie <dnchrist@google.com> Unhide Context.APP_OPS_SERVICE

Change-Id: Iab3e3fb2a32c3407c61abb694e21d84b50579d4f
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
2f1a2e423e0fbb64467d6fcfa4e82c6384f31210 26-Jul-2013 Eino-Ville Talvala <etalvala@google.com> Camera2 API: Rename package to android.hardware.camera2

Change-Id: I77b7939e199f9fe8e12a59393c24cff08097448c
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
ca6486e7f579fa885b6213513f26ce2ca49f873b 15-Jan-2013 Sasha Levitskiy <sanek@google.com> Removed Throttle Manager as obsolete

Change-Id: I63e8514f34c880d0badaab33a347f54a80c84da6
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
8c16579994a58c5763788b4f6be864e8a8219575 22-Oct-2012 Jeff Sharkey <jsharkey@android.com> Update docs for multi-user storage behavior.

Define external storage as being isolated for each user, with the
caveat for shared OBB files. Also mention external storage
permissions.

Bug: 7384941
Change-Id: Ib156b5874c5587749d7bc066791e9e88d931b174
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
60dd520d37a6d3163747eb9a4266d0a08b207c98 23-Jun-2012 Scott Main <smain@google.com> docs: add api overview for jb

Change-Id: Ibb916138026bb13bb424c826fe8faa563c71bf94
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
b58b8f832d06b0ffa8886eba5a4916578a3b8743 12-Jun-2012 Dianne Hackborn <hackbod@google.com> Rework media router to be per-context with global process state.

Change-Id: Ic1cb6f13e691d22783bcdafae85b7c75aec0a66f
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
07b0465095bd9ab3412caefa4fcacbdc3825c64b 24-Apr-2012 Glenn Kasten <gkasten@google.com> Scheduling policy service

Change-Id: I6178b96896ffbb3323210f93784a65d724a3e694
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
7d024d372431effc87168afdc7cbe387680c4935 23-Mar-2012 Irfan Sheriff <isheriff@google.com> Add initial framework for DNS service discovery

Change-Id: I53c0b7ebfd75e520ebb7553612f1aa8413b6b79b
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 09-Mar-2012 Ken Wakasa <kwakasa@google.com> Fix obvious typos under frameworks/base/core

Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
/frameworks/base/core/java/android/content/Context.java
8662cab5c6a01ea5c426512e6f6d2cf3e158aea0 23-Feb-2012 Christopher Tate <ctate@google.com> Merge: Introduce UpdateLocks

An "UpdateLock" works similarly to a wake lock in API: the caller is
providing a hint to the OS that now is not a good time to interrupt
the user/device in order to do intrusive work like applying OTAs.
This is particularly important for headless or kiosk-like products
where ordinarily the update process will be automatically scheduled
and proceed without user or administrator intervention.

UpdateLocks require that the caller hold the new signatureOrSystem
permission android.permission.UPDATE_LOCK. acquire() and release()
will throw security exceptions if this is not the case.

The "is now convenient?" state is expressed to interested parties
by way of a sticky broadcast sent only to registered listeners. The
broadcast is protected; only the system can send it, so listeners
can trust it to be accurate. The broadcast intent also includes a
timestamp (System.currentTimeMillis()) to help inform listeners that
wish to implement scheduling policies based on when the device became
idle.

The API change here is a tiny one: a dump(PrintWriter) method has been
added to the TokenWatcher class to facilitate getting information out
of it for dumpsys purposes. UpdateLock itself is still @hide.

Bug 5543442

Change-Id: I3709c831fc1883d7cb753cd2d3ee8e10a61e7e48
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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>
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
651cdfcbac6245f570475991588ddc2d30265e8d 07-Sep-2011 Irfan Sheriff <isheriff@google.com> Unhide wifi p2p API

Bug: 5247957
Change-Id: Id93e30c0cb60f361ba13a840de8f843415777336
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
8969d9924c662ab4cdacc342bbdc33756db730be 22-Jun-2011 satok <satok@google.com> Revert "Create TextServiceManager and SpellCheckerService"

This reverts commit eaddb894865a804279659b4aad6364a34ab50beb.
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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>
/frameworks/base/core/java/android/content/Context.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>
/frameworks/base/core/java/android/content/Context.java
805fd7ee0e5dc2939e85c84f78d9890a51982bc0 17-Jan-2011 Dianne Hackborn <hackbod@google.com> Add API to get path to OBBs.

Also hide the bitmap thumbnail stuff, we can't support it in its
current form.

And fix some bugs with propagating paths to native code. Yikes!

Change-Id: I13ab37ddbdba5c073489cba5eab035117d3c1574
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
d250746716305717d7cde64032d2d25cda14e6c9 13-Dec-2010 Nick Pelly <npelly@google.com> resolved conflicts for merge of 1d0d1188 to master

Change-Id: I80413d5a54a0284ab6f685c4c6197a2c009ea717
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
/frameworks/base/core/java/android/content/Context.java
af8962e48ecf0ff3833084f540ca7e2f05295560 08-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> am 5f8524d4: am 36af7943: Fix malformed Javadoc.

* commit '5f8524d446fb217516eebafe5d347005051891d1':
Fix malformed Javadoc.
36af79434fb62c26238132eaeda2ec5e732f3c2f 08-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> Fix malformed Javadoc.

Change-Id: I5cfbd49272117defce5226da0f40a8392457a2e2
/frameworks/base/core/java/android/content/Context.java
26b71be600a44341a34079a007ce1492a6f26c1f 07-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> Fix doc typo.

Change-Id: I9d4db682e3d365e783d5d70fbf66d47fe04e88eb
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
dc28be1095c681522ed0784038b30f5630e62291 25-Oct-2010 Scott Main <smain@google.com> resolved conflicts for merge of 177b05d6 to master

Change-Id: I21072a31a28d0e0ea242d1d4f81e5f5f657e6364
4b5da6829aa5e324f5e9414c25d132ba0a9ebeb3 21-Oct-2010 Scott Main <smain@google.com> docs: fix a couple api links

Change-Id: If0e35011a28dc87324e2d53e856cfcdb35236061
/frameworks/base/core/java/android/content/Context.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>
/frameworks/base/core/java/android/content/Context.java
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>
/frameworks/base/core/java/android/content/Context.java
4715bd91f5949a1919156a5a5cb50f0cccda645e 29-Sep-2010 Nick Pelly <npelly@google.com> resolved conflicts for merge of f4c3b7e9 to master

Change-Id: Idcdc521144f3072058b2bb6cb383e42c852e64f4
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>
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
024d59601e8439e6884e50c22301e35eaf53120a 05-Aug-2010 Chung-yih Wang <cywang@google.com> resolved conflicts for merge of a06ad953 to master

Change-Id: I282525787d7475cc72b2dec10fbc2cf8c5727b82
2d94231ef91c732f649ff7af9520ee9eac441b16 04-Aug-2010 Chung-yih Wang <cywang@google.com> Add SIP service into system server.

Change-Id: Icc39e4e54768cfdcc1b20a3efe6206009b9a8d10
/frameworks/base/core/java/android/content/Context.java
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.
7083c42fff819b2c4949984a461bd54e9fa822a3 29-Jul-2010 Steve Howard <showard@google.com> Update Context.getSystemService() docs for download manager.

Change-Id: Ic514b3289b38d6da7d5fe4ffc87c6865280d66d8
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
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.
46be2a5bb647a2429c16ce7d613dd9cce8c3c43b 27-Jul-2010 Steve Howard <showard@google.com> Un-@hide new download manager public API.

Change-Id: Ia8433160ef40e25fb9408f05f97c7bbfa10a807e
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
ac695c608ba620e2362f57126d7be453cf5b7e1b 21-Jul-2010 Adam Powell <adamp@google.com> Refactored contextual modes out of action bar.

Change-Id: I1fc1c9383e5ee90f135b92a5afa8eadbf1c13d20
/frameworks/base/core/java/android/content/Context.java
fb4e1e24a93c7e6bc0fcdb3f5cfadfbc19503cd8 16-Jul-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of 181bb0ab to master

Change-Id: I2284e7c671d127da0d124fbabae8d887727fd5bf
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
03acd51bae7d3fe746d21aa89f5b6de539d92bc8 03-Jun-2010 Vasu Nori <vnori@google.com> fix docs errors

Change-Id: I775dc3e665a8ce32ed6c95f3240280ddef984bb6
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
ac6ec41b679bab78ac33bf4ecde445d616030bbd 08-Apr-2010 Robert Greenwalt <robdroid@android.com> resolved conflicts for merge of 4e33e9c1 to master

Change-Id: I3a150497693009a4cf4300c8445a791c1e1eea3b
9e696c29f06d45d2891e1d38fd8d9033a9e21bb9 01-Apr-2010 Robert Greenwalt <robdroid@android.com> Add service to monitor/control the flow of data.

bug:2576057
Change-Id: Ib343c7ee1d619c6978910d9ee597db195d5aa3b6
/frameworks/base/core/java/android/content/Context.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
b7c8c76180dc1abbf55c734ab121a7a2469060f6 31-Mar-2010 Ray Chen <raychen@google.com> Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener
http://2553871

Change-Id: I293b8138a2c23ea107b634da014902f838966c0e
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
acaf028fc9efd9754f57ed65476e79a816811b35 30-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2553553: API REVIEW: android.context.Context

Change-Id: I3e3ab7a909329d498544dc9ed4d500cbcc4ed281
/frameworks/base/core/java/android/content/Context.java
4528186e0d65fc68ef0dd1941aa2ac8aefcd55a3 06-Mar-2010 Christopher Tate <ctate@google.com> Refactor android.backup => android.app.backup

Change-Id: I0b21316ff890d7f3c7d4b82837bb60670724c2e8
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.java
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.
/frameworks/base/core/java/android/content/Context.java
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>
/frameworks/base/core/java/android/content/Context.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>
/frameworks/base/core/java/android/content/Context.java
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>
/frameworks/base/core/java/android/content/Context.java
d1df8ac6d076ef15ba8857211da2e447b6505fb3 26-Jan-2010 San Mehat <san@google.com> NetworkManagementService: Start service when SystemServer starts up

Signed-off-by: San Mehat <san@google.com>
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.java
1337b012f8e18c725b1ec17b456dc57a084d594d 04-Jan-2010 Dan Egnor <egnor@google.com> Fix DropBox reference in SDK comment. (Fix SDK build.)
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.java
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
a5ef9acdf4dc31bfe4756b933806070355d6aa3f 07-Dec-2009 Fred Quintana <fredq@google.com> remove an old STOPSHIP comment
/frameworks/base/core/java/android/content/Context.java
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.
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
efa199f016985b0a9d0471e42c803ee9f7941f0e 19-Sep-2009 Dianne Hackborn <hackbod@google.com> Add API to send an ordered sticky broadcast.

Change-Id: Ida7081204e226db0cd07ff618c08e308a909ec0c
/frameworks/base/core/java/android/content/Context.java
ae22c05b91d1e7a458066792eb5cfc0974c1be9e 18-Sep-2009 Dianne Hackborn <hackbod@google.com> Try to fix docs build.

Change-Id: I331e128fa95c3bc0b8bc4ab2537cc2ea92e310e7
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.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.
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.
/frameworks/base/core/java/android/content/Context.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.
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.
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.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)
/frameworks/base/core/java/android/content/Context.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.
/frameworks/base/core/java/android/content/Context.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.
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
/frameworks/base/core/java/android/content/Context.java
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
/frameworks/base/core/java/android/content/Context.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
/frameworks/base/core/java/android/content/Context.java
603073430bbcb1bd29db7afb9b14e2732ad589fb 25-Mar-2009 Fred Quintana <> Automated import from //branches/master/...@142414,142414
/frameworks/base/core/java/android/content/Context.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
/frameworks/base/core/java/android/content/Context.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/content/Context.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/content/Context.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/core/java/android/content/Context.java
22f7dfd23490a3de2f21ff96949ba47003aac8f8 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
/frameworks/base/core/java/android/content/Context.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/core/java/android/content/Context.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/content/Context.java