AddonSessionHandler

@PublicApi
public interface AddonSessionHandler



Callback forniti dall'app del componente aggiuntivo per una sessione.

Riepilogo

Tipi nidificati

Descrive il motivo per cui è stato attivato il callback onSessionEnded.

Descrive un privilegio assegnato o revocato a un partecipante a una sessione aggiuntiva.

Metodi pubblici

default void

Ricevi lo stato iniziale più recente della collaborazione della sessione del componente aggiuntivo.

default void

Riceve lo stato più recente dei privilegi che definisce il modo in cui l'utente può partecipare a una sessione aggiuntiva.

abstract void

Risponde alla fine della sessione del componente aggiuntivo.

Metodi pubblici

onCollaborationStartingStateUpdate

default void onCollaborationStartingStateUpdate(
    CollaborationStartingState collaborationStartingState
)

Ricevi lo stato iniziale più recente della collaborazione della sessione del componente aggiuntivo.

Per supportare lo stato iniziale della collaborazione, il componente aggiuntivo è necessaria un'implementazione concreta.

onParticipantPrivilegeChanged

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

Riceve lo stato più recente dei privilegi che definisce il modo in cui l'utente può partecipare a una sessione aggiuntiva.

Per supportare i controlli dell'host, il componente aggiuntivo è necessaria un'implementazione concreta.

onSessionEnded

abstract void onSessionEnded(AddonSessionHandler.EndReason endReason)

Risponde alla fine della sessione del componente aggiuntivo.

  1. Questo gestore non riceverà chiamate aggiuntive, a meno che non venga creato un nuovo AddonSession con la stessa istanza del gestore.
  2. L'SDK esegue la pulizia da solo. Non è necessaria alcuna chiamata aggiuntiva al numero endSession.

Esempio di implementazione:

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;
}
Parametri
AddonSessionHandler.EndReason endReason

il motivo per cui la sessione è terminata