Class BaseOverlayController
java.lang.Object
com.microblink.photopay.fragment.overlay.BaseOverlayController
- All Implemented Interfaces:
ScanningOverlay,ScanResultListener
- Direct Known Subclasses:
BasicOverlayController,FieldByFieldOverlayController
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected android.app.AlertDialogprotected android.os.Handlerprotected OverlayStateprotected RecognizerRunnerFragmentprotected RecognizerRunnerViewprotected ScanResultListenerprotected ScanSoundPlayerprotected TorchController -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseOverlayController(ScanResultListener scanResultListener) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract intandroid.content.ContextReturns context of the parent activity, after the RecognizerRunnerFragment is attached.protected abstract intprotected voidprotected voidonFragmentConfigurationChanged(android.content.res.Configuration newConfig) protected voidonFragmentCreated(android.os.Bundle savedInstanceState) protected voidprotected voidprotected voidprotected voidonFragmentSaveInstanceState(android.os.Bundle outState) protected voidprotected voidvoidonFrameRecognitionDone(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(Throwable throwable) This method is called when the scanning cannot be performed because of an error.voidIf theRecognizerRunnerViewhas been created, pauses the scanning loop by callingRecognizerRunnerView.pauseScanning().voidIf theRecognizerRunnerViewhas been created, resumes the scanning loop (that has been paused) by callingRecognizerRunnerView.resumeScanning(boolean)}.protected voidprotected abstract booleanMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.microblink.photopay.view.recognition.ScanResultListener
onScanningDone
-
Field Details
-
scanResultListener
-
overlayState
-
recognizerRunnerFragment
-
recognizerRunnerView
-
handler
@NonNull protected android.os.Handler handler -
errorDialog
@Nullable protected android.app.AlertDialog errorDialog -
scanSoundPlayer
-
torchController
-
-
Constructor Details
-
BaseOverlayController
-
-
Method Details
-
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:
-
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:
-
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
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
Description copied from interface:ScanningOverlayCalled for each camera frame, after the recognition has been completed.- Specified by:
onFrameRecognitionDonein interfaceScanningOverlay- Parameters:
recognitionSuccessType- frame recognition status.
-