Skip to main content

 

Session Callbacks

Use the following SDK callbacks methods from the ISessionCallbacks interface to override these methods to suit your app.
 

Copiedfun sessionConnectionState(state: LensType, error: ErrorType? = null, message: String)
Called when session connection state changes.

The possible values of LensType are,

  • ERROR
  • CLIENT_IS_NOT_COMPATIBLE
  • BELOW_MIN_API_LEVEL
  • CONTEXT_NOT_AVAILABLE
  • INVALID_SDK_TOKEN
  • INVALID_SESSION_KEY
  • SESSION_CONNECTED
  • SESSION_INVALID
  • CLIENT_INVALID
  • SESSION_EXPIRED
  • DUPLICATE_CLIENT
  • CLOSED_SESSION
  • TECHNICIAN_CLOSED_SESSION
  • CUSTOMER_CLOSED_SESSION
  • SERVER_ISSUE_LEFT_SESSION
  • NETWORK_CONNECTED
  • NETWORK_DISCONNECTED
  • NO_NETWORK

 

Copiedfun chatMessage(message: ChatModel)

Called when participant receives chat messages.

Copiedfun onLensScreenShotTaken(displayName: String?)

Called when screenshot has been taken by technician.

Copiedfun handleAudioMute(isMute: Boolean)

Called when audio mute status is changed.

Copiedfun audioDeviceChange(selectedAudioDevice: AppRTCAudioManager.AudioDevice, availableAudioDevices: MutableSet<AppRTCAudioManager.AudioDevice>)
Called when the currently used audio device is changed.

The possible values for `AudioDevice` are,

  • SPEAKER_PHONE
  • EARPIECE
  • BLUETOOTH
  • WIRED_HEADSET
  • NONE

Copiedfun updateTechnicianList(technicians: ArrayList<ParticipantStatus>)

Called when there are changes in the list of technicians who are currently participating in the session.

Copiedfun log(tag: String, message: String)

Called for log statements in the SDK.

Copiedfun showToast(type: LensToast,displayName:String?)
Called when toast needs to be shown for a `LensToast` case.

The possible values of `LensToast` are,

  • JOINED_PARTICIPANT
  • LEFT_PARTICIPANT
  • CAMERA_STREAM_CHANGED
  • CAMERA_STREAM_REMOVED
  • CAMERA_STREAM_REQUEST_APPROVED
  • CAMERA_STREAM_REQUEST_DENIED
  • CAMERA_STREAM_REQUEST_SOMEONE_WAITING_ALREADY

 

Copiedfun showArTrackingListenerToast(trackingState: TrackingState, trackingFailureReason: TrackingFailureReason)
Called when toast message needs to be shown to user, since AR tracking has failed due to a `TrackingFailureReason`.

The possible values of `TrackingState` are,

  • TRACKING
  • PAUSED
  • STOPPED

The possible values of `TrackingFailureReason` are,

  • NONE
  • EXCESSIVE_MOTION
  • INSUFFICIENT_FEATURES
  • INSUFFICIENT_LIGHT
  • BAD_STATE

Copiedfun getActivity(): Activity?

Used by the SDK to get the activity in which the session is being conducted.

Copiedfun showStreamingType(type: StreamingType, displayName:String?)
Called when the `StreamingType` for the user changes, which can be used by the application to update UI to show buttons/warning/etc that is appropriate for the `StreamingType`.

The possible values of `StreamingType` are,

  • VIDEO_UPSTREAM
  • VIDEO_DOWNSTREAM
  • NO_ONE_IS_STREAMING

Copiedfun onFPSUpdate(averageFPS: Int, fifteenthSecondFPS: Int)

Called every 15 with the average FPS of the session, and the FPS at the last second before callback is called. Only available for AR sessions.

Copiedfun onCameraSwapDone(isFrontCamera: Boolean)

Called when camera has been swapped from front to rear camera or vice versa. `isFrontCamera` will be true if the currently streaming camera is the front camera, it will be false if it is the rear camera.

Copiedfun onOCRStateChanged(ocrStateModel: OCRStateModel)

Called when OCR state has been changed. The `OCRStateModel` will be called with three possible values for `OCRState`,  

  • STARTED - OCR request has been raised and is being processed by LensSDK.
  • COMPLETED - OCR scan has been completed successfully. The result text & associated confidence score will be available in the `ocrStateModel`.
  • ERROR- Error has occurred whilst trying to take/scan OCR, the `ocrStateModel` will contain the error message for the error.

Copiedfun onQRScanStarted()

Callback used to handle when qr scan started.

Copiedfun onQRSuccess(qrText: String)

Called when QR scan has been completed successfully.

Copiedfun onQRFailure(errorMessage: String, willRetry: Boolean)

Called when QR scan has failed. If the value of `willRetry` is true, then the QR scan will be conducted again.

Copiedfun onChatLetReverted(status: Boolean)

Called when any issue was faced while creating the webview based chat. When this callback is triggered, SDK will revert to providing chat messages via `chatMessage(message: ChatModel)`

Copiedfun chatLetState(currentStatus: ChatLetState)

Called when the webview chat state changes.

  • LOADING - Chat webview is in the process of loading.
  • SUCCESS - Chat webview has been loaded and is ready to be displayed.
  • ERROR - There is an issue with loading the chat.
Copiedfun onArAnnotationPlaced(arAnnotationObject: ArAnnotationObject)

Called when AR annotation is placed by any participant.

Copiedfun onArAnnotationRemoved(removedAnnotationList: ArrayList<ArAnnotationObject>)

Called when AR annotations are removed by any participant.

Copiedfun onArAnnotationSelected(arAnnotationObject: ArAnnotationObject)

Called when AR annotation is selected by the customer.

Copiedfun onArAnnotationDeSelected(arAnnotationObject: ArAnnotationObject)

Called when AR annotation is deselected by the customer.

Copiedfun onArAnnotationListUpdate(arAnnotationList: ArrayList<ArAnnotationObject>)

Called when the list of AR annotations is updated by any participant.

Copiedfun onArAnnotationNotesUpdate(arAnnotationObject: ArAnnotationObject)

Called when the comment associated with an AR annotation is updated by any participant.

Copiedfun customerAlreadyActiveInSession()

Called if the customer is already active in a session.

Copiedfun onMicroPhoneUsingByOtherApps()

Called when the microphone is being used by other applications. Deprecated, will be removed in next release.

Copiedfun onAnnotationsCountUpdated(annotationCount: Int?)

Called when annotations are added/removed, resulting in a change in the annotation count.

Copiedfun onFlashLightOn(flashSupportStatus: FlashSupportStatus, displayName: String?)

Called when flash is switched on for the technician. FlashSupportStatus is used to determine if flash has been successfully switched on.

  • SUCCESS - Flash light has been successfully turned on.
  • FAILED - Failed to turn on the Flash light.
Copiedfun onFlashLightOff(flashSupportStatus: FlashSupportStatus, displayName: String?)

Called when flash is switched off for the technician. FlashSupportStatus is used to determine if flash has been successfully switched off.

  • SUCCESS - Flash light has been successfully turned off.
  • FAILED - Failed to turn off the Flash light.
Copiedfun onFlashLightOff(flashSupportStatus: FlashSupportStatus, displayName: String?)

Called when camera freeze or snapshot action is called. The possible values for `Freeze actions` are,

  • FREEZE_VIDEO
  • UNFREEZE_VIDEO
  • FREEZE_SNAPSHOT
  • UNFREEZE_SNAPSHOT
  • FREEZE_SNAPSHOT_SELF
  • UNFREEZE_SNAPSHOT_SELF
  • FREEZE_SNAPSHOT_DOWNLOADED
  • FREEZE_SNAPSHOT_DOWNLOAD_FAILED
Copiedfun onFreezeActions(freezeActions: FreezeActions, displayName: String?)

Callback used to handle the device lock state.

Copiedfun onDeviceLockStateChanged(deviceLockState: DeviceLockState, displayName: String?)

Callback used to handle for features availability based on the license.