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.
- 2.0.0
- 2.0.0-beta.19
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()
val options = MBCaptureSessionOptions.Builder()
.debugging(true)
.payloadOptimization(true)
.scaleType(MBPreviewScaleType.FILL_CENTER)
.automaticCapture(true)
.framesToCollect(3)
.timeBeforeCapture(1)
.progressBar(true)
.faceStatusLabel(true)
.faceStatusText(FaceStatusText())
.countdownTimerLabel(true)
.targeResolution(Size(720, 1280))
.cameraSelector(MBCameraPosition.FRONT)
.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.
- 2.0.0
- 2.0.0-beta.19
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)
}
interface MBCaptureSessionListener {
fun onValidating(faceStatus: MBFaceStatus)
fun onCaptureStarted()
fun onSuccess(result: MBCaptureSessionResult?)
fun onFailure(errorEnum: MBCaptureSessionError)
fun onCountdown(timeCounter: Int)
fun onCaptureProgress(captureProgressCounter: Float)
}
Example implementation
- 2.0.0
- 2.0.0-beta.19
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) { }
}
class MBCaptureSessionFragment: Fragment(R.layout.fragment_m_b_capture),MBCaptureSessionListener{
val options = MBCaptureSessionOptions.Builder()
.debugging(true)
.payloadOptimization(true)
.build()
override fun onValidating(faceStatus: MBFaceStatus) { }
override fun onCaptureStarted() { }
override fun onSuccess(result: MBCaptureSessionResult?) { }
override fun onFailure(errorEnum: MBCaptureSessionError) { }
override fun onCountdown(timeCounter: Int) { }
override fun onCaptureProgress(captureProgressCounter: Float) { }
}