AddonSessionHandler

@PublicApi
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.

Fonctions publiques

Unit
onCollaborationStartingStateUpdate(
    collaborationStartingState: CollaborationStartingState!
)

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

Unit

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

Unit

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

Fonctions publiques

onCollaborationStartingStateUpdate

fun onCollaborationStartingStateUpdate(
    collaborationStartingState: CollaborationStartingState!
): Unit

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

fun onParticipantPrivilegeChanged(
    privileges: (Mutable)List<AddonSessionHandler.Privilege!>!,
    disabledPrivileges: (Mutable)List<AddonSessionHandler.Privilege!>!
): Unit

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

fun onSessionEnded(endReason: AddonSessionHandler.EndReason!): Unit

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
endReason: AddonSessionHandler.EndReason!

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