@MainThread public interface ScanningOverlay extends ScanResultListener
RecognizerRunnerFragment must implement.| Modifier and Type | Method and Description |
|---|---|
void |
onFrameRecognitionDone(RecognitionSuccessType recognitionSuccessType)
Called for each camera frame, after the recognition has been completed.
|
void |
onRecognizerRunnerFragmentAttached(RecognizerRunnerFragment recognizerRunnerFragment,
android.app.Activity activity)
Called after
RecognizerRunnerFragment gets attached to its host activity. |
void |
onRecognizerRunnerViewCreated(RecognizerRunnerFragment recognizerRunnerFragment)
Called when
RecognizerRunnerView has been created within given
RecognizerRunnerFragment. |
void |
pauseScanning()
If the
RecognizerRunnerView has been created, pauses the scanning
loop by calling RecognizerRunnerView.pauseScanning(). |
void |
resumeScanning()
If the
RecognizerRunnerView has been created, resumes the scanning
loop (that has been paused) by calling RecognizerRunnerView.resumeScanning(boolean) }. |
onScanningDone, onUnrecoverableError@AnyThread void resumeScanning()
RecognizerRunnerView has been created, resumes the scanning
loop (that has been paused) by calling RecognizerRunnerView.resumeScanning(boolean) }.
If the RecognizerRunnerView has not been created yet, does nothing.
@AnyThread void pauseScanning()
RecognizerRunnerView has been created, pauses the scanning
loop by calling RecognizerRunnerView.pauseScanning(). But keeps camera active.
If the RecognizerRunnerView has not been created yet, does nothing.
You can resume scanning by calling ScanningOverlay.resumeScanning().
RecognizerRunnerView.pauseScanning()void onRecognizerRunnerViewCreated(@NonNull
RecognizerRunnerFragment recognizerRunnerFragment)
RecognizerRunnerView has been created within given
RecognizerRunnerFragment. You can use RecognizerRunnerFragment.getRecognizerRunnerView()
to get the created RecognizerRunnerView and configure it.
The most important thing you should do in this method is to set RecognizerBundle to
created RecognizerRunnerView using RecognizerRunnerView.setRecognizerBundle(RecognizerBundle).
You can also register various callbacks to RecognizerRunnerView, except CameraEventsListener
(using BaseCameraView.setCameraEventsListener(CameraEventsListener)) and ScanResultListener
(using RecognizerRunnerView.setScanResultListener(ScanResultListener) - those two listeners will be set
to RecognizerRunnerView within RecognizerRunnerFragment after calling this method - if you
need to observe camera events within RecognizerRunnerFragment, you can set your own BaseCameraEventsListener
to it with RecognizerRunnerFragment.setCameraEventsListener(BaseCameraEventsListener).
In this method, you can also access RecognizerRunnerFragment's content layout with method
RecognizerRunnerFragment.getContentLayout() and add your views to it.recognizerRunnerFragment - RecognizerRunnerFragment within which RecognizerRunnerView has been created.void onRecognizerRunnerFragmentAttached(@NonNull
RecognizerRunnerFragment recognizerRunnerFragment,
@NonNull
android.app.Activity activity)
RecognizerRunnerFragment gets attached to its host activity. This happens before
RecognizerRunnerFragment.onCreateView(LayoutInflater, ViewGroup, Bundle) which internally invokes
ScanningOverlay.onRecognizerRunnerViewCreated(RecognizerRunnerFragment). This means that at the time this method
is invoked, methods like RecognizerRunnerFragment.getRecognizerRunnerView() or RecognizerRunnerFragment.getContentLayout()
will return null.
However, this is a good place to register your LifecycleObserver with RecognizerRunnerFragment.registerLifecycleObserver(LifecycleObserver)
if your overlay needs to be notified about lifecycle events of RecognizerRunnerFragment.recognizerRunnerFragment - RecognizerRunnerFragment that has been attached to host activity.activity - Activity to which RecognizerRunnerFragment has been attached.@WorkerThread void onFrameRecognitionDone(RecognitionSuccessType recognitionSuccessType)
recognitionSuccessType - frame recognition status.