ParticipantExtension
@ExperimentalAppActions
public interface ParticipantExtension
The extension interface used to support notifying remote surfaces (automotive, watch, etc...) of state related to the Participants in the call.
This interface allows an application to notify remote surfaces of changes to Participant state. Additionally, this interface allows the application to support optional actions that use the participant state. These actions provide remote surfaces with the ability to request participant state updates based on user input and provide additional information about the state of specific participants.
| See also | |
|---|---|
addParticipantExtension |
Summary
Public methods |
|
|---|---|
abstract void |
addKickParticipantSupport(Adds support for allowing the user to kick participants in the call using the remote surface. |
abstract @NonNull RaiseHandState |
addRaiseHandSupport(Adds support for notifying remote surfaces of the "raised hand" state of all |
abstract void |
updateActiveParticipant(Participant participant)Update all of the remote surfaces that the active participant associated with this call has changed, if it exists. |
abstract void |
updateParticipants(@NonNull List<@NonNull Participant> newParticipants)Update all of the remote surfaces that the |
Public methods
addKickParticipantSupport
abstract void addKickParticipantSupport(
@NonNull SuspendFunction1<@NonNull Participant, Unit> onKickParticipant
)
Adds support for allowing the user to kick participants in the call using the remote surface.
| Parameters | |
|---|---|
@NonNull SuspendFunction1<@NonNull Participant, Unit> onKickParticipant |
The action to perform when the user requests to kick a participant. This operation should not return until the request has been processed. |
addRaiseHandSupport
abstract @NonNull RaiseHandState addRaiseHandSupport(
@NonNull List<@NonNull Participant> initialRaisedHands,
@NonNull SuspendFunction1<@NonNull Boolean, Unit> onHandRaisedChanged
)
Adds support for notifying remote surfaces of the "raised hand" state of all Participants in the call.
| Parameters | |
|---|---|
@NonNull List<@NonNull Participant> initialRaisedHands |
The initial List of |
@NonNull SuspendFunction1<@NonNull Boolean, Unit> onHandRaisedChanged |
This is called when the user has requested to change their "raised hand" state on a remote surface. If |
| Returns | |
|---|---|
@NonNull RaiseHandState |
The interface used to update the current raised hand state of all |
updateActiveParticipant
abstract void updateActiveParticipant(Participant participant)
Update all of the remote surfaces that the active participant associated with this call has changed, if it exists.
The "active" participant is the participant that is currently taking focus and should be marked in UX as active or take a more prominent view to the user.
| Parameters | |
|---|---|
Participant participant |
the |
updateParticipants
abstract void updateParticipants(@NonNull List<@NonNull Participant> newParticipants)
Update all of the remote surfaces that the Participants of this call have changed. Participants are displayed on the remote screen according to their order within the participants list, starting with the first element. Duplicate participants are removed. If the same participant is added to the list more than once, only the first occurrence of that participant will be retained in the list; subsequent duplicates are dropped.
| Parameters | |
|---|---|
@NonNull List<@NonNull Participant> newParticipants |
The new set of |