This patch introduces basic infrastructure for the new MediaRouter
API. The code is fully documented but incompletely implemented.
It is being submitted not to facilitate API reviews.
MediaRouter is a new class that applications used to discovery,
connect to, and control media devices as represented by media
destinations and their routes. Routes may offer a variety of
capabilities. This new class is a much more powerful replacement
for the existing MediaRouter.
MediaRouteService is a base class for creating media route services
which third-parties can implement to make routes available to
applications. It is analoguous to the MediaRouteProvider
infrastructure of the old media router support library but it
is designed to be integrated into the framework and enable a
variety of new usages such as remote display projection.
Stay tuned for more...
Change-Id: I2c7c6013d9f751d71e83697e7fc9e49bf7751fef
Convert restrictions provider to a service instead of a receiver.
Add a way to get pending responses from restrictions provider.
Add AbstractRestrictionsProvider.
Add a callback API for responses.
Removed some constants in RestrictionsManager.
Added new constants for errors and error codes.
Much improved javadocs.
Bug: 16176009
Change-Id: I838a50fabc80b94b632294b3a55cd5d8092acf55
Instead of surfacing all the existing cryptic error codes, we're
going to classify them into broad categories when surfacing through
public API. This change introduces InstallResultCallback and
UninstallResultCallback, and wires them up to existing AIDL
interfaces.
Also start defining general SessionObserver for apps interested
in general progress details, such as Launcher apps. Details about
active sessions are returned through new InstallSessionInfo objects.
Bug: 14975160
Change-Id: I068e2b0c30135f6340f59ae0fff93c321047f8f9
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
Vendor-specific commands are not handled by the service. This CL
opens an API for vendors to implement customized handling of
CEC commands specific to their needs.
Change-Id: I8bfa3b891bd7994a903b3b41d7c2b27464167afa
For the time being, DCS is going to still be doing heavy lifting for
some install tasks, so it need to know how to handle both monolithic
and cluster packages. This change is mostly plumbing work to
eventually handle any various splits APKs that we may encounter.
Bug: 14975160
Change-Id: I39848d5666f9083cb4eca493e5cdaa868f3f99fb
The thumbnail returned from ActivityManager.getTaskThumbnail() now
contains either a Bitmap or a ParcelFileDescriptor that points to
a file containing a compressed Bitmap. The Recent tasks list is
now responsible for all thumbnail Bitmap caching as the activity
manager keeps only the most recent 5. This also permits low memory
devices to have many more tasks in the Recent tasks list.
As part of this CL the concept of subtasks is removed eliminating
code supporting the TaskAccessInfo and IThumbnailRetriever classes.
Fixes bug 15828934.
Change-Id: I0fd0320a1a04e3c78d79357899b83a2fff97abf2
Move aidl files from frameworks/opt/net/ims to frameworks/base so lpdk
compiles. The reason is lpdk doesn't have frameworks/base sources so
references to Pending and Bundle in aidl files breaks the pdk build.
I had to move all of them and the ims/*java files for dependency reasons.
Change-Id: I92452562591b157cecdfc01bcd892c4f35f5965c
When remote volume is changed via volume buttons we need to notify
the system UI so it can show the slider. This also passes it the
controller to use so adjustments to the slider are sent back to
the correct session.
Change-Id: If5847bcd5db16c56e0e9904b88c94e5b28954c41
Remove CallServiceSelectors and replace them with comprehensive
support for Subscriptions as the means of selecting ways of making
phone calls. After this change, a ConnectionService is not a
semantically meaningful "way of making a call" -- it's more like the
mechanism whereby the Android system communicates with a 3rd party
process to ask for phone services. We anticipate each process having
only one ConnectionService.
Change-Id: I11e6e246ae999683b3800496e98c93c3351aca7b