TvInputManager
class TvInputManager
kotlin.Any | |
↳ | android.media.tv.TvInputManager |
Central system API to the overall TV input framework (TIF) architecture, which arbitrates interaction between applications and the selected TV inputs.
There are three primary parties involved in the TV input framework (TIF) architecture:
- The TV input manager as expressed by this class is the central point of the system that manages interaction between all other parts. It is expressed as the client-side API here which exists in each application context and communicates with a global system service that manages the interaction across all processes.
- A TV input implemented by
TvInputService
represents an input source of TV, which can be a pass-through input such as HDMI, or a tuner input which provides broadcast TV programs. The system binds to the TV input per application’s request. on implementing TV inputs. - Applications talk to the TV input manager to list TV inputs and check their status. Once an application find the input to use, it uses
TvView
orTvRecordingClient
for further interaction such as watching and recording broadcast TV programs.
Summary
Nested classes | |
---|---|
abstract |
Callback used to monitor status of the TV inputs. |
Constants | |
---|---|
static String |
Broadcast intent action when the user blocked content ratings change. |
static String |
Broadcast intent action when the parental controls enabled state changes. |
static String |
Broadcast intent action used to query available content rating systems. |
static String |
Activity action to set up channel sources i. |
static String |
Activity action to display the recording schedules. |
static Int | |
static Int | |
static Int | |
static Int | |
static Int | |
static Int | |
static Int | |
static Int | |
static Int |
State for |
static Int |
State for |
static Int |
State for |
static String |
Content rating systems metadata associated with |
static Int |
Error for |
static Int |
Error for |
static Int |
Error for |
static String |
An object of |
static String |
An object of |
static String |
An object of |
static String |
The URI of a channel. |
static String |
A list which includes track information. |
static String |
The ID of the track. |
static String |
The type of the track. |
static String |
The type of TV message. |
static String |
The reason why the video became unavailable. |
static String |
Notifies the advertisement buffer is consumed. |
static String |
Notifies response for advertisement. |
static String |
Notifies response for broadcast info. |
static String |
Sends the list of all audio/video/subtitle tracks. |
static String |
Sends the type and ID of a selected track. |
static String |
Informs the application that the session has been tuned to the given channel. |
static String |
Sends the TV message. |
static String |
Informs the application that the video is now available for watching. |
static String |
Informs the application that the video became unavailable for some reason. |
static Int |
Signal lost. |
static Int |
Strong signal. |
static Int |
Weak signal. |
static Long |
Value returned by |
static Int |
Time shift mode: auto. |
static Int |
Time shift mode: local. |
static Int |
Time shift mode: network. |
static Int |
Time shift mode: off. |
static Int |
Status for |
static Int |
Status for |
static Int |
Status for |
static Int |
Status for |
static Long |
This value for |
static String |
This constant is used as a |
static String |
This constant is used as a |
static String |
This constant is used as a |
static String |
This constant is used as a |
static String |
This is a subtype for TV messages that can be potentially found as a value at |
static String |
This is a subtype for TV messages that can be potentially found as a value at |
static Int |
Indicates that this TV message contains Closed Captioning data |
static Int |
Indicates that this TV message contains other data |
static Int |
Indicates that this TV message contains watermarking data |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
static Int |
Reason for |
Public methods | |
---|---|
MutableList<TvContentRating!>! |
Returns the list of blocked content ratings. |
Int |
getInputState(inputId: String) Returns the state of a given TV input. |
TvInputInfo? |
getTvInputInfo(inputId: String) Returns the |
MutableList<TvInputInfo!>! |
Returns the complete list of TV inputs on the system. |
Boolean |
Returns the user's parental controls enabled state. |
Boolean |
isRatingBlocked(rating: TvContentRating) Checks whether a given TV content rating is blocked by the user. |
Unit |
registerCallback(callback: TvInputManager.TvInputCallback, handler: Handler) Registers a |
Unit |
unregisterCallback(callback: TvInputManager.TvInputCallback) Unregisters the existing |
Unit |
updateTvInputInfo(inputInfo: TvInputInfo) Updates the |
Constants
ACTION_BLOCKED_RATINGS_CHANGED
static val ACTION_BLOCKED_RATINGS_CHANGED: String
Broadcast intent action when the user blocked content ratings change. For use with the isRatingBlocked
.
Value: "android.media.tv.action.BLOCKED_RATINGS_CHANGED"
ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED
static val ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED: String
Broadcast intent action when the parental controls enabled state changes. For use with the isParentalControlsEnabled
.
Value: "android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED"
ACTION_QUERY_CONTENT_RATING_SYSTEMS
static val ACTION_QUERY_CONTENT_RATING_SYSTEMS: String
Broadcast intent action used to query available content rating systems.
The TV input manager service locates available content rating systems by querying broadcast receivers that are registered for this action. An application can offer additional content rating systems to the user by declaring a suitable broadcast receiver in its manifest.
Here is an example broadcast receiver declaration that an application might include in its AndroidManifest.xml to advertise custom content rating systems. The meta-data specifies a resource that contains a description of each content rating system that is provided by the application.
<receiver android:name=".TvInputReceiver"> <intent-filter> <action android:name= "android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS" /> </intent-filter> <meta-data android:name="android.media.tv.metadata.CONTENT_RATING_SYSTEMS" android:resource="@xml/tv_content_rating_systems" /> </receiver>
In the above example, the @xml/tv_content_rating_systems
resource refers to an XML resource whose root element is <rating-system-definitions>
that contains zero or more <rating-system-definition>
elements. Each <rating-system-definition>
element specifies the ratings, sub-ratings and rating orders of a particular content rating system.
Value: "android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS"
See Also
ACTION_SETUP_INPUTS
static val ACTION_SETUP_INPUTS: String
Activity action to set up channel sources i.e. TV inputs of type TvInputInfo.TYPE_TUNER
. When invoked, the system will display an appropriate UI for the user to initiate the individual setup flow provided by android.R.attr#setupActivity
of each TV input service.
Value: "android.media.tv.action.SETUP_INPUTS"
ACTION_VIEW_RECORDING_SCHEDULES
static val ACTION_VIEW_RECORDING_SCHEDULES: String
Activity action to display the recording schedules. When invoked, the system will display an appropriate UI to browse the schedules.
Value: "android.media.tv.action.VIEW_RECORDING_SCHEDULES"
BROADCAST_INFO_STREAM_EVENT
static val BROADCAST_INFO_STREAM_EVENT: Int
Value: 5
BROADCAST_INFO_TYPE_COMMAND
static val BROADCAST_INFO_TYPE_COMMAND: Int
Value: 7
BROADCAST_INFO_TYPE_SECTION
static val BROADCAST_INFO_TYPE_SECTION: Int
Value: 3
BROADCAST_INFO_TYPE_TIMELINE
static val BROADCAST_INFO_TYPE_TIMELINE: Int
Value: 8
INPUT_STATE_CONNECTED
static val INPUT_STATE_CONNECTED: Int
State for getInputState(java.lang.String)
and TvInputCallback.onInputStateChanged(String, int)
: The input source is connected.
This state indicates that a source device is connected to the input port and is in the normal operation mode. It is mostly relevant to hardware inputs such as HDMI input. Non-hardware inputs are considered connected all the time.
Value: 0
INPUT_STATE_CONNECTED_STANDBY
static val INPUT_STATE_CONNECTED_STANDBY: Int
State for getInputState(java.lang.String)
and TvInputCallback.onInputStateChanged(String, int)
: The input source is connected but in standby mode.
This state indicates that a source device is connected to the input port but is in standby or low power mode. It is mostly relevant to hardware inputs such as HDMI input and Component inputs.
Value: 1
INPUT_STATE_DISCONNECTED
static val INPUT_STATE_DISCONNECTED: Int
State for getInputState(java.lang.String)
and TvInputCallback.onInputStateChanged(String, int)
: The input source is disconnected.
This state indicates that a source device is disconnected from the input port. It is mostly relevant to hardware inputs such as HDMI input.
Value: 2
META_DATA_CONTENT_RATING_SYSTEMS
static val META_DATA_CONTENT_RATING_SYSTEMS: String
Content rating systems metadata associated with ACTION_QUERY_CONTENT_RATING_SYSTEMS
.
Specifies the resource ID of an XML resource that describes the content rating systems that are provided by the application.
Value: "android.media.tv.metadata.CONTENT_RATING_SYSTEMS"
RECORDING_ERROR_INSUFFICIENT_SPACE
static val RECORDING_ERROR_INSUFFICIENT_SPACE: Int
Error for TvInputService.RecordingSession.notifyError(int)
and TvRecordingClient.RecordingCallback.onError(int)
: Recording cannot proceed due to insufficient storage space.
Value: 1
RECORDING_ERROR_RESOURCE_BUSY
static val RECORDING_ERROR_RESOURCE_BUSY: Int
Error for TvInputService.RecordingSession.notifyError(int)
and TvRecordingClient.RecordingCallback.onError(int)
: Recording cannot proceed because a required recording resource was not able to be allocated.
Value: 2
RECORDING_ERROR_UNKNOWN
static val RECORDING_ERROR_UNKNOWN: Int
Error for TvInputService.RecordingSession.notifyError(int)
and TvRecordingClient.RecordingCallback.onError(int)
: The requested operation cannot be completed due to a problem that does not fit under any other error codes, or the error code for the problem is defined on the higher version than application's android:targetSdkVersion
.
Value: 0
SESSION_DATA_KEY_AD_BUFFER
static val SESSION_DATA_KEY_AD_BUFFER: String
An object of AdBuffer
.
Type: android.media.tv.AdBuffer
Value: "ad_buffer"
SESSION_DATA_KEY_AD_RESPONSE
static val SESSION_DATA_KEY_AD_RESPONSE: String
An object of AdResponse
.
Type: android.media.tv.AdResponse
Value: "ad_response"
SESSION_DATA_KEY_BROADCAST_INFO_RESPONSE
static val SESSION_DATA_KEY_BROADCAST_INFO_RESPONSE: String
An object of BroadcastInfoResponse
.
Type: android.media.tv.BroadcastInfoResponse
Value: "broadcast_info_response"
SESSION_DATA_KEY_CHANNEL_URI
static val SESSION_DATA_KEY_CHANNEL_URI: String
The URI of a channel.
Type: android.net.Uri
Value: "channel_uri"
SESSION_DATA_KEY_TRACKS
static val SESSION_DATA_KEY_TRACKS: String
A list which includes track information.
Type: java.util.List<android.media.tv.TvTrackInfo>
Value: "tracks"
SESSION_DATA_KEY_TRACK_ID
static val SESSION_DATA_KEY_TRACK_ID: String
The ID of the track.
Type: String
Value: "track_id"
SESSION_DATA_KEY_TRACK_TYPE
static val SESSION_DATA_KEY_TRACK_TYPE: String
The type of the track.
One of TvTrackInfo.TYPE_AUDIO
, TvTrackInfo.TYPE_VIDEO
, TvTrackInfo.TYPE_SUBTITLE
.
Type: Integer
Value: "track_type"
SESSION_DATA_KEY_TV_MESSAGE_TYPE
static val SESSION_DATA_KEY_TV_MESSAGE_TYPE: String
The type of TV message.
It can be one of TV_MESSAGE_TYPE_WATERMARK, TV_MESSAGE_TYPE_CLOSED_CAPTION, TV_MESSAGE_TYPE_OTHER
Type: Integer
Value: "tv_message_type"
SESSION_DATA_KEY_VIDEO_UNAVAILABLE_REASON
static val SESSION_DATA_KEY_VIDEO_UNAVAILABLE_REASON: String
The reason why the video became unavailable.
The value can be VIDEO_UNAVAILABLE_REASON_BUFFERING, VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY, etc.
Type: Integer
Value: "video_unavailable_reason"
SESSION_DATA_TYPE_AD_BUFFER_CONSUMED
static val SESSION_DATA_TYPE_AD_BUFFER_CONSUMED: String
Notifies the advertisement buffer is consumed.
Value: "ad_buffer_consumed"
SESSION_DATA_TYPE_AD_RESPONSE
static val SESSION_DATA_TYPE_AD_RESPONSE: String
Notifies response for advertisement.
Value: "ad_response"
SESSION_DATA_TYPE_BROADCAST_INFO_RESPONSE
static val SESSION_DATA_TYPE_BROADCAST_INFO_RESPONSE: String
Notifies response for broadcast info.
Value: "broadcast_info_response"
SESSION_DATA_TYPE_TRACKS_CHANGED
static val SESSION_DATA_TYPE_TRACKS_CHANGED: String
Sends the list of all audio/video/subtitle tracks.
Value: "tracks_changed"
SESSION_DATA_TYPE_TRACK_SELECTED
static val SESSION_DATA_TYPE_TRACK_SELECTED: String
Sends the type and ID of a selected track. This is used to inform the application that a specific track is selected.
Value: "track_selected"
SESSION_DATA_TYPE_TUNED
static val SESSION_DATA_TYPE_TUNED: String
Informs the application that the session has been tuned to the given channel.
Value: "tuned"
SESSION_DATA_TYPE_TV_MESSAGE
static val SESSION_DATA_TYPE_TV_MESSAGE: String
Sends the TV message.
Value: "tv_message"
SESSION_DATA_TYPE_VIDEO_AVAILABLE
static val SESSION_DATA_TYPE_VIDEO_AVAILABLE: String
Informs the application that the video is now available for watching.
Value: "video_available"
SESSION_DATA_TYPE_VIDEO_UNAVAILABLE
static val SESSION_DATA_TYPE_VIDEO_UNAVAILABLE: String
Informs the application that the video became unavailable for some reason.
Value: "video_unavailable"
SIGNAL_STRENGTH_LOST
static val SIGNAL_STRENGTH_LOST: Int
Signal lost.
Value: 1
SIGNAL_STRENGTH_STRONG
static val SIGNAL_STRENGTH_STRONG: Int
Strong signal.
Value: 3
SIGNAL_STRENGTH_WEAK
static val SIGNAL_STRENGTH_WEAK: Int
Weak signal.
Value: 2
TIME_SHIFT_INVALID_TIME
static val TIME_SHIFT_INVALID_TIME: Long
Value returned by TvInputService.Session.onTimeShiftGetCurrentPosition()
and TvInputService.Session.onTimeShiftGetStartPosition()
when time shifting has not yet started.
Value: -9223372036854775808L
TIME_SHIFT_MODE_AUTO
static val TIME_SHIFT_MODE_AUTO: Int
Time shift mode: auto.
Time shift mode is handled automatically.
Value: 4
TIME_SHIFT_MODE_LOCAL
static val TIME_SHIFT_MODE_LOCAL: Int
Time shift mode: local.
Time shift is handle locally, using on-device data. E.g. playing a local file.
Value: 2
TIME_SHIFT_MODE_NETWORK
static val TIME_SHIFT_MODE_NETWORK: Int
Time shift mode: network.
Time shift is handle remotely via network. E.g. online streaming.
Value: 3
TIME_SHIFT_MODE_OFF
static val TIME_SHIFT_MODE_OFF: Int
Time shift mode: off.
Time shift is disabled.
Value: 1
TIME_SHIFT_STATUS_AVAILABLE
static val TIME_SHIFT_STATUS_AVAILABLE: Int
Status for TvInputService.Session.notifyTimeShiftStatusChanged(int)
and TvView.TvInputCallback.onTimeShiftStatusChanged(String, int)
: Time shifting is currently available. In this status, the application assumes it can pause/resume playback, seek to a specified time position and set playback rate and audio mode.
Value: 3
TIME_SHIFT_STATUS_UNAVAILABLE
static val TIME_SHIFT_STATUS_UNAVAILABLE: Int
Status for TvInputService.Session.notifyTimeShiftStatusChanged(int)
and TvView.TvInputCallback.onTimeShiftStatusChanged(String, int)
: Time shifting is currently unavailable but might work again later.
Value: 2
TIME_SHIFT_STATUS_UNKNOWN
static val TIME_SHIFT_STATUS_UNKNOWN: Int
Status for TvInputService.Session.notifyTimeShiftStatusChanged(int)
and TvView.TvInputCallback.onTimeShiftStatusChanged(String, int)
: Unknown status. Also the status prior to calling notifyTimeShiftStatusChanged
.
Value: 0
TIME_SHIFT_STATUS_UNSUPPORTED
static val TIME_SHIFT_STATUS_UNSUPPORTED: Int
Status for TvInputService.Session.notifyTimeShiftStatusChanged(int)
and TvView.TvInputCallback.onTimeShiftStatusChanged(String, int)
: The current TV input does not support time shifting.
Value: 1
TV_MESSAGE_GROUP_ID_NONE
static val TV_MESSAGE_GROUP_ID_NONE: Long
This value for TV_MESSAGE_KEY_GROUP_ID
denotes that the message doesn't belong to any group.
Value: -1L
TV_MESSAGE_KEY_GROUP_ID
static val TV_MESSAGE_KEY_GROUP_ID: String
This constant is used as a Bundle
key for TV messages. This is used to optionally identify messages that belong together, such as headers and bodies of the same event. For messages that do not have a group, this value should be TV_MESSAGE_GROUP_ID_NONE
.
As -1 is a reserved value, -1 should not be used as a valid groupId.
Type: long
Value: "android.media.tv.TvInputManager.group_id"
TV_MESSAGE_KEY_RAW_DATA
static val TV_MESSAGE_KEY_RAW_DATA: String
This constant is used as a Bundle
key for TV messages. The value of the key stores the raw data contained in this TV message. The format of this data is determined by the format defined by the subtype, found using the key at TV_MESSAGE_KEY_SUBTYPE
. See TV_MESSAGE_KEY_SUBTYPE
for more information on how to parse this data.
Type: byte[]
Value: "android.media.tv.TvInputManager.raw_data"
TV_MESSAGE_KEY_STREAM_ID
static val TV_MESSAGE_KEY_STREAM_ID: String
This constant is used as a Bundle
key for TV messages. The value of the key identifies the stream on the TV input source for which the watermark event is relevant to.
Type: String
Value: "android.media.tv.TvInputManager.stream_id"
TV_MESSAGE_KEY_SUBTYPE
static val TV_MESSAGE_KEY_SUBTYPE: String
This constant is used as a Bundle
key for TV messages. The value of the key identifies the subtype of the data, such as the format of the CC data. The format found at this key can then be used to identify how to parse the data at TV_MESSAGE_KEY_RAW_DATA
.
To parse the raw data based on the subtype, please refer to the official documentation of the concerning subtype. For example, for the subtype TV_MESSAGE_SUBTYPE_WATERMARKING_A335
, the document for A/335 from the ATSC standard details how this data is formatted. Similarly, the subtype TV_MESSAGE_SUBTYPE_CC_608E
is documented in the ANSI/CTA standard for 608-E. These subtypes are examples of common formats for their respective uses and other subtypes may exist.
Type: String
Value: "android.media.tv.TvInputManager.subtype"
TV_MESSAGE_SUBTYPE_CC_608E
static val TV_MESSAGE_SUBTYPE_CC_608E: String
This is a subtype for TV messages that can be potentially found as a value at TV_MESSAGE_KEY_SUBTYPE
. It identifies the subtype of the message as the CC format CTA 608-E.
Value: "CTA 608-E"
TV_MESSAGE_SUBTYPE_WATERMARKING_A335
static val TV_MESSAGE_SUBTYPE_WATERMARKING_A335: String
This is a subtype for TV messages that can be potentially found as a value at TV_MESSAGE_KEY_SUBTYPE
. It identifies the subtype of the message as the watermarking format ATSC A/335.
Value: "ATSC A/335"
TV_MESSAGE_TYPE_CLOSED_CAPTION
static val TV_MESSAGE_TYPE_CLOSED_CAPTION: Int
Indicates that this TV message contains Closed Captioning data
Value: 2
TV_MESSAGE_TYPE_OTHER
static val TV_MESSAGE_TYPE_OTHER: Int
Indicates that this TV message contains other data
Value: 1000
TV_MESSAGE_TYPE_WATERMARK
static val TV_MESSAGE_TYPE_WATERMARK: Int
Indicates that this TV message contains watermarking data
Value: 1
VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY
static val VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because the current TV program is audio-only.
Value: 4
VIDEO_UNAVAILABLE_REASON_BUFFERING
static val VIDEO_UNAVAILABLE_REASON_BUFFERING: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because the corresponding TV input has stopped playback temporarily to buffer more data.
Value: 3
VIDEO_UNAVAILABLE_REASON_CAS_BLACKOUT
static val VIDEO_UNAVAILABLE_REASON_CAS_BLACKOUT: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because of a geographical blackout.
Value: 16
VIDEO_UNAVAILABLE_REASON_CAS_CARD_INVALID
static val VIDEO_UNAVAILABLE_REASON_CAS_CARD_INVALID: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because smart card is invalid.
Value: 15
VIDEO_UNAVAILABLE_REASON_CAS_CARD_MUTE
static val VIDEO_UNAVAILABLE_REASON_CAS_CARD_MUTE: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because smart card is muted.
Value: 14
VIDEO_UNAVAILABLE_REASON_CAS_INSUFFICIENT_OUTPUT_PROTECTION
static val VIDEO_UNAVAILABLE_REASON_CAS_INSUFFICIENT_OUTPUT_PROTECTION: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because the output protection level enabled on the device is not sufficient to meet the requirements in the license policy.
Value: 7
VIDEO_UNAVAILABLE_REASON_CAS_LICENSE_EXPIRED
static val VIDEO_UNAVAILABLE_REASON_CAS_LICENSE_EXPIRED: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because Using a license in whhich the keys have expired.
Value: 10
VIDEO_UNAVAILABLE_REASON_CAS_NEED_ACTIVATION
static val VIDEO_UNAVAILABLE_REASON_CAS_NEED_ACTIVATION: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because the device need be activated.
Value: 11
VIDEO_UNAVAILABLE_REASON_CAS_NEED_PAIRING
static val VIDEO_UNAVAILABLE_REASON_CAS_NEED_PAIRING: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because the device need be paired.
Value: 12
VIDEO_UNAVAILABLE_REASON_CAS_NO_CARD
static val VIDEO_UNAVAILABLE_REASON_CAS_NO_CARD: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because smart card is missed.
Value: 13
VIDEO_UNAVAILABLE_REASON_CAS_PVR_RECORDING_NOT_ALLOWED
static val VIDEO_UNAVAILABLE_REASON_CAS_PVR_RECORDING_NOT_ALLOWED: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because the PVR record is not allowed by the license policy.
Value: 8
VIDEO_UNAVAILABLE_REASON_CAS_REBOOTING
static val VIDEO_UNAVAILABLE_REASON_CAS_REBOOTING: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because CAS system is rebooting.
Value: 17
VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN
static val VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because of unknown CAS error.
Value: 18
VIDEO_UNAVAILABLE_REASON_INSUFFICIENT_RESOURCE
static val VIDEO_UNAVAILABLE_REASON_INSUFFICIENT_RESOURCE: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because the resource is not enough to meet requirement.
Value: 6
VIDEO_UNAVAILABLE_REASON_NOT_CONNECTED
static val VIDEO_UNAVAILABLE_REASON_NOT_CONNECTED: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because the source is not physically connected, for example the HDMI cable is not connected.
Value: 5
VIDEO_UNAVAILABLE_REASON_STOPPED
static val VIDEO_UNAVAILABLE_REASON_STOPPED: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because it has been stopped by TvView.stopPlayback(int)
.
Value: 19
VIDEO_UNAVAILABLE_REASON_TUNING
static val VIDEO_UNAVAILABLE_REASON_TUNING: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable because the corresponding TV input is in the middle of tuning to a new channel.
Value: 1
VIDEO_UNAVAILABLE_REASON_UNKNOWN
static val VIDEO_UNAVAILABLE_REASON_UNKNOWN: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable due to an unspecified error.
Value: 0
VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL
static val VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL: Int
Reason for TvInputService.Session.notifyVideoUnavailable(int)
and TvView.TvInputCallback.onVideoUnavailable(String, int)
: Video is unavailable due to weak TV signal.
Value: 2
Public methods
getBlockedRatings
fun getBlockedRatings(): MutableList<TvContentRating!>!
Returns the list of blocked content ratings.
Return | |
---|---|
MutableList<TvContentRating!>! |
the list of content ratings blocked by the user. |
getInputState
fun getInputState(inputId: String): Int
Returns the state of a given TV input.
The state is one of the following:
Parameters | |
---|---|
inputId |
String: The ID of the TV input. This value cannot be null . |
Return | |
---|---|
Int |
Value is android.media.tv.TvInputManager#INPUT_STATE_CONNECTED , android.media.tv.TvInputManager#INPUT_STATE_CONNECTED_STANDBY , or android.media.tv.TvInputManager#INPUT_STATE_DISCONNECTED |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if the argument is null . |
getTvInputInfo
fun getTvInputInfo(inputId: String): TvInputInfo?
Returns the TvInputInfo
for a given TV input.
Parameters | |
---|---|
inputId |
String: The ID of the TV input. This value cannot be null . |
Return | |
---|---|
TvInputInfo? |
the TvInputInfo for a given TV input. null if not found. |
getTvInputList
fun getTvInputList(): MutableList<TvInputInfo!>!
Returns the complete list of TV inputs on the system.
Return | |
---|---|
MutableList<TvInputInfo!>! |
List of TvInputInfo for each TV input that describes its meta information. |
isParentalControlsEnabled
fun isParentalControlsEnabled(): Boolean
Returns the user's parental controls enabled state.
Return | |
---|---|
Boolean |
true if the user enabled the parental controls, false otherwise. |
isRatingBlocked
fun isRatingBlocked(rating: TvContentRating): Boolean
Checks whether a given TV content rating is blocked by the user.
Parameters | |
---|---|
rating |
TvContentRating: The TV content rating to check. Can be TvContentRating.UNRATED . This value cannot be null . |
Return | |
---|---|
Boolean |
true if the given TV content rating is blocked, false otherwise. |
registerCallback
fun registerCallback(
callback: TvInputManager.TvInputCallback,
handler: Handler
): Unit
Registers a TvInputCallback
.
Parameters | |
---|---|
callback |
TvInputManager.TvInputCallback: A callback used to monitor status of the TV inputs. This value cannot be null . |
handler |
Handler: A Handler that the status change will be delivered to. This value cannot be null . |
unregisterCallback
fun unregisterCallback(callback: TvInputManager.TvInputCallback): Unit
Unregisters the existing TvInputCallback
.
Parameters | |
---|---|
callback |
TvInputManager.TvInputCallback: The existing callback to remove. This value cannot be null . |
updateTvInputInfo
fun updateTvInputInfo(inputInfo: TvInputInfo): Unit
Updates the TvInputInfo
for an existing TV input. A TV input service implementation may call this method to pass the application and system an up-to-date TvInputInfo
object that describes itself.
The system automatically creates a TvInputInfo
object for each TV input, based on the information collected from the AndroidManifest.xml
, thus it is not necessary to call this method unless such information has changed dynamically. Use TvInputInfo.Builder
to build a new TvInputInfo
object.
Attempting to change information about a TV input that the calling package does not own does nothing.
Parameters | |
---|---|
inputInfo |
TvInputInfo: The TvInputInfo object that contains new information. This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if the argument is null . |