AddonSessionHandler

@PublicApi
public interface AddonSessionHandler



Rappels fournis par l'application complémentaire pour une session.

Résumé

Types imbriqués

Décrit la raison pour laquelle le rappel onSessionEnded a été déclenché.

Décrit un droit attribué ou révoqué pour un participant à une session complémentaire.

Méthodes publiques

default void

Reçoit le dernier état de collaboration initial de la session complémentaire.

default void

Reçoit le dernier état des droits qui définit la manière dont l'utilisateur est autorisé à participer à une session complémentaire.

abstract void

Répond à la fin de la session du module complémentaire.

Méthodes publiques

onCollaborationStartingStateUpdate

default void onCollaborationStartingStateUpdate(
    CollaborationStartingState collaborationStartingState
)

Reçoit le dernier état de collaboration initial de la session complémentaire.

Une implémentation concrète est requise pour que le module complémentaire puisse prendre en charge l'état de départ de la collaboration.

onParticipantPrivilegeChanged

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

Reçoit le dernier état des droits qui définit la manière dont l'utilisateur est autorisé à participer à une session complémentaire.

Une implémentation concrète est requise pour que le module complémentaire soit compatible avec les commandes de l'hôte.

onSessionEnded

abstract void onSessionEnded(AddonSessionHandler.EndReason endReason)

Répond à la fin de la session du module complémentaire.

  1. Ce gestionnaire ne recevra aucun appel supplémentaire, sauf si un nouveau AddonSession est créé avec cette même instance de gestionnaire.
  2. Le SDK se nettoie tout seul. Aucun appel supplémentaire à endSession n'est nécessaire.

Exemple d'implémentation:

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;
}
Paramètres
AddonSessionHandler.EndReason endReason

La raison pour laquelle la session s'est terminée