Make it work correctly for singleton content providers.
Relax which apps can export singleton content providers.
Change-Id: I43d315c25ed76a876bfa6d5e0d1351bc19c9bdba
Also moves most of it into android.app.task rather than android.content.
Bug 14993295
Bug 14997851
Change-Id: I9b5738d026ea2526cdfbc96d0239c74687c51611
* commit '59f61cc23d47f7ad714cf99be32fd70a66dba84e':
doc: Updated branding guidelines per request from @deniseamling.
Noted that OnSharedPreferenceChangeListener does not store a strong reference to the listener.
Recent tasks that have the persistable flag set are
saved to /data/system/recent_tasks/ on shutdown and in the
background. Their thumbnails are saved to
/data/system/recent_images/.
Change-Id: Ifb820a01c412fe1f8c0f6e41aa655fafd89eaa8d
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)
Installers are interested in both streaming APK data and establishing
a happens-after relationship to support resuming downloads after a
process kill or battery pull.
This exposes a generic OutputStream for writing, and hooks up flush()
to be a blocking call which returns only when all outstanding write()
data has been fsync()'ed to disk.
Tests to verify behavior.
Bug: 14975160
Change-Id: I38289867c80ac659163bb0c2158ef12d99cc570d
* commit '768a899f214dd2fcf4bf3857549fee81b22debc4':
doc: Updated branding guidelines per request from @deniseamling.
Noted that OnSharedPreferenceChangeListener does not store a strong reference to the listener.
* commit 'b59608981ff464b85a26987b8822913e41e72291':
doc: Updated branding guidelines per request from @deniseamling.
Noted that OnSharedPreferenceChangeListener does not store a strong reference to the listener.
* commit '9562863cf184fe99be223aff9700b3ceb8559e1a':
doc: Updated branding guidelines per request from @deniseamling.
Noted that OnSharedPreferenceChangeListener does not store a strong reference to the listener.
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
Add a flag for PackageManager.hasSystemFeature to determine
if a functional webview is available on the device.
Bug: 13438487
Change-Id: I770f7e924b3e5fa6be0397904acf18c9306096e4
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
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
As per a comment on an earlier code review.
(cherry-picked from commit a9d64733421d6765eab5c2730fa912f068e26047)
Change-Id: I064cffc13c323b721f3a16c83e0e95ee348ef9f6
Defines a new PackageInstaller class that will be used for installing
and upgrading packages. An application desiring to install an
application creates a session, stages one or more package files in
that session, and then kicks off the install.
Previously, PackageManager would always make its own copy of a package
before inspecting it, to ensure the data could be trusted. This new
session concept allows the installer to write package data directly to
its final resting place on disk, reducing disk I/O and footprint
requirements. Writes are directed through an intermediate pipe
to ensure we can prevent mutations once an install has been initiated.
Also uses fallocate() internally to support optimal ext4 block
allocation using extents to reduce fragmentation.
Sessions are also the way we support installing multiple "split" APKs
in a single atomic operation. For a set of packages to form a valid
application, they must have exactly the same package name, version
code, and certificates. A session can also be used to add a small
handful of splits to an application by inheriting existing packages
when not performing a full install.
Add PackageParser support for extracting split names and certificates.
Bug: 14975160
Change-Id: I23d1bf4fbeb9f99a8c83be0c458900a0f0d1bccc
When an intent is sent to another profile:
For content uris contained in this intent:
The userId of the source user is added to the userInfo part.
The ActivityManagerService has been modified to resolve resources in the user specified by the uri.
The user id to which the uri belongs to is stored in the UriPermission.
Change-Id: I43dc76895aba692bf148d276253aeaf9c75fce34