AddonSessionHandler

@PublicApi
public interface AddonSessionHandler



Las devoluciones de llamada que proporciona la app del complemento para una sesión.

Resumen

Tipos anidados

Describe el motivo por el que se activó la devolución de llamada a onSessionEnded.

Describe un privilegio que se asigna o revoca un participante en una sesión de complemento.

Métodos públicos

default void

Recibe el estado inicial más reciente de la colaboración de la sesión del complemento.

default void

Recibe el estado más reciente de privilegios que definen cómo el usuario puede participar en una sesión de complementos.

abstract void

Responde al final de la sesión del complemento.

Métodos públicos

onCollaborationStartingStateUpdate

default void onCollaborationStartingStateUpdate(
    CollaborationStartingState collaborationStartingState
)

Recibe el estado inicial más reciente de la colaboración de la sesión del complemento.

Se requiere una implementación concreta para que el complemento admita el estado inicial de la colaboración.

onParticipantPrivilegeChanged

default void onParticipantPrivilegeChanged(
    List<AddonSessionHandler.Privilege> privileges,
    List<AddonSessionHandler.Privilege> disabledPrivileges
)

Recibe el estado más reciente de privilegios que definen cómo el usuario puede participar en una sesión de complementos.

Se requiere una implementación concreta para que el complemento admita los controles del organizador.

onSessionEnded

abstract void onSessionEnded(AddonSessionHandler.EndReason endReason)

Responde al final de la sesión del complemento.

  1. Este controlador no recibirá llamadas adicionales, a menos que se construya un AddonSession nuevo con esta misma instancia de controlador.
  2. El SDK se limpiará automáticamente. No es necesario llamar a endSession.

Ejemplo de implementación:

if (EndReason.SESSION_ENDED_UNEXPECTEDLY.equals(endReason)) {
  log("Something happened unexpectedly");
  // Display UI to user in case they want to reconnect.
  return;
}

if (EndReason.MEETING_ENDED_BY_USER.equals(endReason)) {
  // The meeting is disconnected because the user left the meeting. Perform some
  // cleanup, then exit.
  this.onMeetingDisconnected();
  return;
}

if (EndReason.SESSION_ENDED_BY_USER.equals(endReason)) {
  // Disconnected because the user left the session from the Meet application. However, the
  // conference is still active in Meet. Perform some cleanup, then listen for a possible
  // rejoin event.
  this.onSessionDisconnected();
  return;
}
Parámetros
AddonSessionHandler.EndReason endReason

el motivo por el que finalizó la sesión