Class BaseOverlayController
- java.lang.Object
-
- com.microblink.documentverification.fragment.overlay.BaseOverlayController
-
- All Implemented Interfaces:
ScanningOverlay,ScanResultListener
- Direct Known Subclasses:
BaseBlinkIdOverlayController
public abstract class BaseOverlayController extends java.lang.Object implements ScanningOverlay
-
-
Field Summary
Fields Modifier and Type Field Description protected android.app.AlertDialogerrorDialogprotected android.os.Handlerhandlerprotected OverlayStateoverlayStateprotected RecognizerRunnerFragmentrecognizerRunnerFragmentprotected RecognizerRunnerViewrecognizerRunnerViewprotected ScanResultListenerscanResultListenerprotected ScanSoundPlayerscanSoundPlayerprotected TorchControllertorchController
-
Constructor Summary
Constructors Modifier Constructor Description protectedBaseOverlayController(ScanResultListener scanResultListener)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract intgetBeepSoundResourceId()android.content.ContextgetContext()Returns context of the parent activity, after the RecognizerRunnerFragment is attached.protected abstract intgetSplashScreenLayoutId()protected voidonCameraAutofocusFailed()protected voidonFragmentConfigurationChanged(android.content.res.Configuration newConfig)protected voidonFragmentCreated(android.os.Bundle savedInstanceState)protected voidonFragmentDestroyed()protected voidonFragmentPaused()protected voidonFragmentResumed()protected voidonFragmentSaveInstanceState(android.os.Bundle outState)protected voidonFragmentStarted()protected voidonFragmentStopped()voidonFrameRecognitionDone(RecognitionSuccessType recognitionSuccessType)Called for each camera frame, after the recognition has been completed.voidonRecognizerRunnerFragmentAttached(RecognizerRunnerFragment recognizerRunnerFragment, android.app.Activity activity)Called afterRecognizerRunnerFragmentgets attached to its host activity.voidonRecognizerRunnerViewCreated(RecognizerRunnerFragment recognizerRunnerFragment)Called whenRecognizerRunnerViewhas been created within givenRecognizerRunnerFragment.voidonUnrecoverableError(java.lang.Throwable throwable)This method is called when the scanning cannot be performed because of an error.voidpauseScanning()If theRecognizerRunnerViewhas been created, pauses the scanning loop by callingRecognizerRunnerView.pauseScanning().voidresumeScanning()If theRecognizerRunnerViewhas been created, resumes the scanning loop (that has been paused) by callingRecognizerRunnerView.resumeScanning(boolean)}.protected voidsetMeteringAreas()protected abstract booleanshouldResetStateOnRecognizerResume()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.microblink.documentverification.view.recognition.ScanResultListener
onScanningDone
-
-
-
-
Field Detail
-
scanResultListener
@NonNull protected ScanResultListener scanResultListener
-
overlayState
@NonNull protected OverlayState overlayState
-
recognizerRunnerFragment
@Nullable protected RecognizerRunnerFragment recognizerRunnerFragment
-
recognizerRunnerView
@Nullable protected RecognizerRunnerView recognizerRunnerView
-
handler
@NonNull protected android.os.Handler handler
-
errorDialog
@Nullable protected android.app.AlertDialog errorDialog
-
scanSoundPlayer
@NonNull protected ScanSoundPlayer scanSoundPlayer
-
torchController
@NonNull protected TorchController torchController
-
-
Constructor Detail
-
BaseOverlayController
protected BaseOverlayController(@NonNull ScanResultListener scanResultListener)
-
-
Method Detail
-
onRecognizerRunnerViewCreated
@CallSuper public void onRecognizerRunnerViewCreated(@NonNull RecognizerRunnerFragment recognizerRunnerFragment)Description copied from interface:ScanningOverlayCalled whenRecognizerRunnerViewhas been created within givenRecognizerRunnerFragment. You can useRecognizerRunnerFragment.getRecognizerRunnerView()to get the createdRecognizerRunnerViewand configure it. The most important thing you should do in this method is to setRecognizerBundleto createdRecognizerRunnerViewusingRecognizerRunnerView.setRecognizerBundle(RecognizerBundle). You can also register various callbacks toRecognizerRunnerView, exceptCameraEventsListener(usingBaseCameraView.setCameraEventsListener(CameraEventsListener)) andScanResultListener(usingRecognizerRunnerView.setScanResultListener(ScanResultListener)- those two listeners will be set toRecognizerRunnerViewwithinRecognizerRunnerFragmentafter calling this method - if you need to observe camera events withinRecognizerRunnerFragment, you can set your ownBaseCameraEventsListenerto it withRecognizerRunnerFragment.setCameraEventsListener(BaseCameraEventsListener). In this method, you can also accessRecognizerRunnerFragment's content layout with methodRecognizerRunnerFragment.getContentLayout()and add your views to it.- Specified by:
onRecognizerRunnerViewCreatedin interfaceScanningOverlay- Parameters:
recognizerRunnerFragment-RecognizerRunnerFragmentwithin whichRecognizerRunnerViewhas been created.
-
resumeScanning
@AnyThread @CallSuper public void resumeScanning()
Description copied from interface:ScanningOverlayIf theRecognizerRunnerViewhas been created, resumes the scanning loop (that has been paused) by callingRecognizerRunnerView.resumeScanning(boolean)}.If the
RecognizerRunnerViewhas not been created yet, does nothing.- Specified by:
resumeScanningin interfaceScanningOverlay- See Also:
RecognizerRunnerView.resumeScanning(boolean)
-
shouldResetStateOnRecognizerResume
protected abstract boolean shouldResetStateOnRecognizerResume()
-
pauseScanning
@AnyThread @CallSuper public void pauseScanning()
Description copied from interface:ScanningOverlayIf theRecognizerRunnerViewhas been created, pauses the scanning loop by callingRecognizerRunnerView.pauseScanning(). But keeps camera active. If theRecognizerRunnerViewhas not been created yet, does nothing.You can resume scanning by calling
ScanningOverlay.resumeScanning().- Specified by:
pauseScanningin interfaceScanningOverlay- See Also:
RecognizerRunnerView.pauseScanning()
-
getBeepSoundResourceId
protected abstract int getBeepSoundResourceId()
-
onRecognizerRunnerFragmentAttached
@CallSuper public void onRecognizerRunnerFragmentAttached(@NonNull RecognizerRunnerFragment recognizerRunnerFragment, @NonNull android.app.Activity activity)Description copied from interface:ScanningOverlayCalled afterRecognizerRunnerFragmentgets attached to its host activity. This happens beforeRecognizerRunnerFragment.onCreateView(LayoutInflater, ViewGroup, Bundle)which internally invokesScanningOverlay.onRecognizerRunnerViewCreated(RecognizerRunnerFragment). This means that at the time this method is invoked, methods likeRecognizerRunnerFragment.getRecognizerRunnerView()orRecognizerRunnerFragment.getContentLayout()will return null. However, this is a good place to register yourLifecycleObserverwithRecognizerRunnerFragment.registerLifecycleObserver(LifecycleObserver)if your overlay needs to be notified about lifecycle events ofRecognizerRunnerFragment.- Specified by:
onRecognizerRunnerFragmentAttachedin interfaceScanningOverlay- Parameters:
recognizerRunnerFragment-RecognizerRunnerFragmentthat has been attached to host activity.activity-Activityto whichRecognizerRunnerFragmenthas been attached.
-
getContext
@Nullable public android.content.Context getContext()
Returns context of the parent activity, after the RecognizerRunnerFragment is attached.- Returns:
- context of the parent activity or
nullif the recognizer runner fragment has not been attached yet.
-
getSplashScreenLayoutId
@LayoutRes protected abstract int getSplashScreenLayoutId()
-
setMeteringAreas
protected void setMeteringAreas()
-
onFragmentCreated
protected void onFragmentCreated(@Nullable android.os.Bundle savedInstanceState)
-
onFragmentStarted
protected void onFragmentStarted()
-
onFragmentResumed
protected void onFragmentResumed()
-
onFragmentPaused
protected void onFragmentPaused()
-
onFragmentStopped
protected void onFragmentStopped()
-
onFragmentDestroyed
protected void onFragmentDestroyed()
-
onFragmentConfigurationChanged
protected void onFragmentConfigurationChanged(@NonNull android.content.res.Configuration newConfig)
-
onFragmentSaveInstanceState
protected void onFragmentSaveInstanceState(@Nullable android.os.Bundle outState)
-
onCameraAutofocusFailed
protected void onCameraAutofocusFailed()
-
onUnrecoverableError
public void onUnrecoverableError(@NonNull java.lang.Throwable throwable)Description copied from interface:ScanResultListenerThis method is called when the scanning cannot be performed because of an error.- Specified by:
onUnrecoverableErrorin interfaceScanResultListener- Parameters:
throwable- type of error
-
onFrameRecognitionDone
public void onFrameRecognitionDone(RecognitionSuccessType recognitionSuccessType)
Description copied from interface:ScanningOverlayCalled for each camera frame, after the recognition has been completed.- Specified by:
onFrameRecognitionDonein interfaceScanningOverlay- Parameters:
recognitionSuccessType- frame recognition status.
-
-