Skip to main content

2.0.0 Upgrade Guide

This page shows an overview of the changes between the previous version and 2.0.0

Changes to configuration options

The options have been grouped in separate models.

   val options = MBCaptureSessionOptions.Builder()
.debugging(true)
.payloadOptimization(true)
.cameraQuality(MBCameraOptions(previewScaleType = MBPreviewScaleType.FILL_CENTER))
.automaticCapture(true)
.framesToCollect(3)
.timeBeforeCapture(1)
.build()

val uiOptions = MBUIOptions.Builder()
.progressBar(true)
.faceStatusLabel(true)
.textLocalization(MBTextLocalizations())
.countdownTimerLabel(true)
.build()

Changes to listeners for callbacks and events

The listeners have been divided into separate interfaces in order to facilitate more customization and expanding functionality.

interface MBCaptureSessionListener {
fun onStateChanged(stateEnum: MBCaptureState)
fun onSuccess(result: MBCaptureSessionResult?)
fun onFailure(errorEnum: MBCaptureSessionError)
}

interface MBOnValidatingListener {
fun onValidating(faceStatus: MBFaceStatus)
}

interface MBCountDownListener {
onCountdown(timeCounter: Int)
}

interface MBCaptureProgressListener {
onCaptureProgress(captureProgressCounter: Float)
}

Example implementation

class MBCaptureSessionFragment: Fragment(R.layout.fragment_m_b_capture),
MBCaptureSessionListener,
MBOnValidatingListener,
MBCountDownListener,
MBCaptureProgressListener
{
private lateinit var mbCaptureSessionService: MBCaptureSessionService
val options = MBCaptureSessionOptions.Builder()
.debugging(true)
.payloadOptimization(true)
.cameraQuality(MBCameraOptions(previewScaleType = MBPreviewScaleType.FILL_CENTER))
.build()

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
mbCaptureSessionService = MBCaptureSessionService(
requireContext(),
this,
options,
)
mbCaptureSessionService.captureSessionListener = this
mbCaptureSessionService.captureProgressListener = this
mbCaptureSessionService.countDownListener = this
mbCaptureSessionService.faceStatusListener = this

mbCaptureSessionService.startCamera()
}

//MBCaptureSessionListener interfaces
override fun onStateChanged(stateEnum: MBCaptureState) { }

override fun onSuccess(result: MBCaptureSessionResult?) { }

override fun onFailure(errorEnum: MBCaptureSessionError) { }

//MBOnValidatingListener
override fun onValidating(faceStatus: MBFaceStatus) { }

//MBCountDownListener
override fun onCountdown(timeCounter: Int) { }

//MBCaptureProgressListener
override fun onCaptureProgress(captureProgressCounter: Float) { }
}