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.