We need a package/pid to connect a session to a notification. This
adds a way to get those from the controller of a session.
Change-Id: I7700a341beebd46116dfb7dc82f1a667c718e728
This makes MediaRouter work with sessions to handle volume
requests. Should work with all existing custom volume handling.
Change-Id: I5dfde26a6203a1072b7fc700978b4ca852ebe7d0
* Also changes Rational to reduce the numerator/denominator by
its greatest common divisor at construction time (e.g. (2/4 -> 1/2)).
Bug: 15432042
Change-Id: Ib827abccf44a040667e5931cf9442afc86b57e2d
This change addresses the following comments from the council:
- Change the TvView API to be tune(String inputId, Uri channelUri) and
reset()
- @hide TvInputSession class, including createSession() and
SessionCallback
- Define a listener interface specific to TvView, allowing you to hide
the session details and keep the API simpler. Add
setTvInputListener().
Bug: 15345342
Change-Id: I931662841b41d862ebc4a700ccb245889a5f87a5
Channel logo is exposed via its own content URI,
"content://android.media.tv/channel/#/logo".
Program thumbnail is added as an URI column in existing program table.
Change-Id: I8dd636bbea9d3fa991ad42ccc03a198e8c1d051d
This change addresses the following comments from the council:
- Change TvView.setVolume() --> setStreamVolume()
- Surface only TvInputInfo.getServiceInfo() instead of the separate
getPackage/getService/getComponent calls. However, keep loadLabel()
at the top level.
- @hide register/unregisterListener() for the preview, since it binds
out to each service.
- TvInputService should document which permission it should protect
itself with.
- Remove TvInputService.setAvailable() for third-party developers.
- Change class name TvInputSessionImpl --> Session
- Change callback name to onSetStreamVolume() to match earlier change
Bug: 15345342
Change-Id: I3ce5cba7dad2622b78d16c408f81c4b0eba837a4
Now, there can be only one SetupActivity and one SettingsActivity for
one TIS apk though one TIS apk can contain several services. Each TIS
need to be able to have its own SetupActivity and SettingsActivity.
BUG: 15177340
Change-Id: I2d944e3ef35c3a981483ba643fd27b15925bab16
This change addresses the following comments from the council:
- Provider authority should be "android.media.tv"
- Rename COLUMN_DATA to COLUMN_INTERNAL_PROVIDER_DATA and add comment to
indicate data is internal to the provider that inserted it, and should
not be decoded by other apps. It would be nice to restrict read access
to this column, but not essential.
- Hide COLUMN_LOCKED since implementation isn't defined yet, also
questions about how it interacts with Unicorn.
- Fix typo in ORIGINAL_NETWORK documentation.
- All provider MIME types need to be changed to follow platform
conventions: "vnd.android.cursor.dir/channel",
"vnd.android.cursor.dir/program", etc. (Notice singular tense and no
package prefixes since they're part of the platform API.)
- Rename Programs.COLUMN_DATA to COLUMN_INTERNAL_PROVIDER_DATA, along
with docs update, for the same reasons as above.
- Rename COLUMN_DESCRIPTION to COLUMN_SHORT_DESCRIPTION and update docs
to indicate it's a recommended maximum length, not a hard cap.
- COLUMN_GENRE should be split into two columns: COLUMN_BROADCAST_GENRE
(from broadcast standard) and COLUMN_CANONICAL_GENRE (from an Android
standard). Define a subclass with the Android canonical genres, which
are simple strings that are comma-separated when inserted into
COLUMN_CANONICAL_GENRE.
Bug: 15345342
Change-Id: I7f8e70aef617475a59d096fd73a551e7df8a1d3a
Having a listener for audio port updates is not mandatory.
do not throw an excepion when AudioManager is contructed
from a thread without looper.
Bug: 15368707.
Change-Id: If5ce54bf4efdff8b785098649fa1cd0564861e1e
Instead of breaking out of silent mode when raising the volume
using the keys, prevent the change and display a visual hint up
in the user interface.
Bug:15330217
Change-Id: I74aae44319aadcd6db9841c7799967607f5a1617
Implement audio port and audio patch
callback infrastructure for clients to receive
notifications when audio routing changes occur via the
OnAudioPortUpdateListener interface.
Bug: 14815883.
Change-Id: I32cbba64eca7369871aec235ff100de1f0c2d344
This is the minimum change to make adjusting volume work with
MediaSessions. This only affects adjusting the volume and adjusting
the volume with a suggested stream. Adjusting a specific stream or
setting a specific stream will still use the same code.
This does not fix existing remote volume handling in RCC, which
will require a separate change to MediaController.
Change-Id: I5b957ff4bece1ee11e2364e1f216e1c08343c983
Since the focus range is defined in diopters (1/distance), it just so
happens that in a range [near, far] near >= far which is against the
android.util.Range contract.
Change it to pair instead.
Also adds a marshaler for Pairs since they didn't have one before
(and aren't parcelable).
Bug: 15335269
Change-Id: If2f3259aeec072438a1c18c1b9728a4c81e92a40
This merges TransportPerformer into MediaSession + a
TransportControlsCallback and makes TransportController into an
inner class on MediaController called TransportControls. Also makes
the PlaybackState and Metadata part of the session APIs instead of
transport controls.
Change-Id: I16ad392e6d318abe3119ad5d89656d253af25e16