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
After HdmiControlService performs routing control action,
make sure it is finished all the time.
Change-Id: I38e130ee5d8712a18aac7a46cad0950a23713469
(cherry picked from commit 7d05469196721aaa888447149d3b93c8689ff72e)
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
Use cases:
- VIDEO_UNAVAILABLE_REASON_TUNE: to show spinner on channel change.
- VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL: to show a message and spinner on weak TV signal.
- VIDEO_UNAVAILABLE_REASON_BUFFERING: to show spinner on buffering.
- VIDEO_UNAVAILABLE_REASON_UNKNOWN: to show spinner.
Bug: 14126559
Change-Id: Ide2b68c74bd96d4ea1b9d85ab099a277253d05c7
(cherry picked from commit 1edfd8eb985ee41095c60f4aaf7029f56abff614)
Flesh out implementation of install session observers. Carve out 20%
of published install progress for final system operations such as
dexopt, etc.
Add dumpsys output for active install sessions. Create explicit
fsync() instead of overriding meaning of flush(). Hack to throw
IOExceptions over Binder calls.
Bug: 14975160, 15348430
Change-Id: I874457e40c45d2661bc0a526df9285ffea4bb77c
We now both log detailed error messages and relay them back to any
observer. Start refactoring PMS to throw when errors are encountered
internally to make it easier to reason about flow control; already
uncovered a few instances of errors being silently ignored!
Change-Id: Ia335c5e31bd10243d52fd735c513ca828e83dca0
This is required to handle the case that an application wants to turn
on/off the caption explicitly (e.g. TvView in PIP). TV input service
implementation must respond to the request immediately to avoid any
legal implication since the captioning is imposed by the law in many
countries.
Bug: 14121898
Change-Id: I9600debae709fdc99065d7a0138ae69d1dffc9ba
If a new device is avr and current tv setting is system audio mode,
we should launch SystemAudioAutoInitiationAction.
Bug: 15843140
Change-Id: I8db89e9be21572e304e6eebb5948a7981df14e90
This lets the service keep track of the latest change made by TV app
or TIF regarding active source/port.
Bug: 16222083
Change-Id: I0f1a4520eb3e52ca5024567b0f1fbe4fd59e8cbf
The KeySetManagerService is a part of the PackageManagerService, which is
responsible for maintaining the association between packages, keysets and
public keys. This information is a critical component of the
PackageManagerService data, and should require the holding of the
PackageManagerService's lock. Remove the existing KeySetManagerService lock
and require the mPackages lock to be held instead.
Bug: 6967056
Change-Id: I803f8388e42469d30562b40212cf497320851268
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
Introduces new flag Intent.FLAG_ACTIVITY_LAUNCH_BEHIND which
causes the newly launched task to affiliate with the launching task.
(Later this flag will also launch the task behind the current task).
This shows up in a new member of the RecentTaskInfo class. This also
causes the recents list returned by getRecentsInfo to be rearranged
so that affiliated tasks are together.
Fixes bug 16157517.
Change-Id: Ia1386af50da2f01809278b62d249f05c6a0de951
* commit 'f5e6747440cc0d29c663a792e32d9618f842ecf2':
Allow overlays to configure ConnectivityService's network sampling to not wake the device. This can increase clockwork device battery life. Bug:15455204
- Deferring widget host listening to speed up startup
- Ensuring that we animate to the right task position in the stack and not just the front-most
- Removing assumption that we can only get screenshots for the most recent task
But only if the two users are in the same profile. Also
apply the same rule for the recently allowed interaction
across content providers.
The activity manager now keeps track of which users are in
the same profile group, and the handleIncomingUser function has
an option to allow a non-full caller to do the interaction
if the two users are in the same profile group.
Spread this joy all over the place.
Also turn off multi-user on Svelte devices.
Change-Id: I231484ea2a6bfccbb3cd51357d7a387bd75039ea
The logic was incorrect in the presence of multiple paths
(cluster installs) or multiple instruction sets (multi arch)
because of an early return in the case of sucessful dexopt.
- Rewrite this logic to make it (hopefully) clearer.
- Fix a related bug in getAppDexInstructionSets.
- Add instruction set to the dexopt logs.
bug: 16013931
Change-Id: I18c9755583f0a6f8be70469ec2062269564f0f41
When a user turns hdmi cec on from system settings or other possible way,
hdmi control service should start over from logical address allocation.
As device discovery action from bootup is slightly different from
one from enabling hdmi cec, added additional params to all notification
method which is called when logical address allocation is done.
Bug: 16222082
Change-Id: Ib73be5f642646918b470d769dc563753c4ff48d3
Use Settings for storing several flags/values to keep the data persistent
across power cycle, and also to make them configurable via system Settings UI.
Bug: 16185931
Change-Id: I98650863e4237fd91c1b35717f14a570e049427c