AddonSessionHandler

@PublicApi
public interface AddonSessionHandler



Callback yang disediakan oleh aplikasi add-on untuk sebuah sesi.

Ringkasan

Jenis bertingkat

Menjelaskan alasan callback onSessionEnded dipicu.

Menjelaskan hak istimewa yang dialokasikan atau dicabut dari peserta dalam sesi add-on.

Metode publik

default void

Menerima status awal kolaborasi terbaru dari sesi add-on.

default void

Menerima status hak istimewa terbaru yang menentukan cara pengguna diizinkan untuk berpartisipasi dalam sesi add-on.

abstract void

Merespons akhir sesi add-on.

Metode publik

onCollaborationStartingStateUpdate

default void onCollaborationStartingStateUpdate(
    CollaborationStartingState collaborationStartingState
)

Menerima status awal kolaborasi terbaru dari sesi add-on.

Implementasi konkret diperlukan agar add-on dapat mendukung status awal kolaborasi.

onParticipantPrivilegeChanged

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

Menerima status hak istimewa terbaru yang menentukan cara pengguna diizinkan untuk berpartisipasi dalam sesi add-on.

Penerapan konkret diperlukan agar add-on dapat mendukung kontrol host.

onSessionEnded

abstract void onSessionEnded(AddonSessionHandler.EndReason endReason)

Merespons akhir sesi add-on.

  1. Pengendali ini tidak akan menerima panggilan tambahan, kecuali jika AddonSession baru dibuat dengan instance pengendali yang sama ini.
  2. SDK akan menghapus dirinya sendiri. Tidak diperlukan panggilan tambahan ke endSession.

Contoh penerapan:

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

alasan sesi berakhir