Matter tv app common-api#
The tv-app common-api module defines the interface to interact with the Matter agent service for the content apps. This module defines the AIDL interfaces, clusters and command abstractions accessible. It also defines various constants and intent field definitions that would be used by the content app while interacting with the Matter SDK. The interface provided by this module helps content app to register dynamic endpoints as well as report any attribute changes to the SDK.
Permissions needed#
To utilize the Matter agent interface the partner apps need to
Query and bind themselves to a service that handles
com.matter.tv.app.api.action.MatterAppAgent
actionThe host process should hold the
com.matter.tv.app.api.permission.SEND_DATA
permissionTo bind with the Matter app agent service, the client should hold the
com.matter.tv.app.api.permission.BIND_SERVICE_PERMISSION
permission
Matter app agent APIs#
The Matter app agent service exposes the following interface
setSupportedClusters
This API allows partners to report clusters dynamically to the Matter agent
This API is not incremental and on each API call we should report the full set of clusters - any clusters that are omitted in the latest API call that were added previously will be removed
The above behavior does not impact static clusters declared in app resources and they will not be removed
Dynamic cluster can be used to override and hide a static cluster based on cluster name
reportAttributeChange
This API allows reporting changes to attributes by the content app
It takes in the cluster ID and attribute ID for which the attribute change is reported
Cluster and Attribute IDs#
The common API package defines commonly used cluster IDs as well as
corresponding Attribute ID’s through com.matter.tv.app.api.Clusters
. The
common-api provides a quick way to refer to different clusters defined by the
Matter spec relevant for media casting, as well as attributes and commands
associated with each one.
Intents#
The supported intents are defined under the
com.matter.tv.app.api.MatterIntentConstants
. This helper class defines the
relevant intents used while interacting with the Matter app agent service. This
includes the android permission strings to as well as command and attribute
intent fields to be used.