public abstract class BaseOverlayController extends java.lang.Object implements ScanningOverlay
| Modifier and Type | Field and Description | 
|---|---|
protected android.app.AlertDialog | 
errorDialog  | 
protected android.os.Handler | 
handler  | 
protected OverlayState | 
overlayState  | 
protected RecognizerRunnerFragment | 
recognizerRunnerFragment  | 
protected RecognizerRunnerView | 
recognizerRunnerView  | 
protected ScanResultListener | 
scanResultListener  | 
protected ScanSoundPlayer | 
scanSoundPlayer  | 
protected TorchController | 
torchController  | 
| Modifier | Constructor and Description | 
|---|---|
protected  | 
BaseOverlayController(ScanResultListener scanResultListener)  | 
| Modifier and Type | Method and Description | 
|---|---|
protected abstract int | 
getBeepSoundResourceId()  | 
protected android.content.Context | 
getContext()  | 
protected abstract int | 
getSplashScreenLayoutId()  | 
protected void | 
onCameraAutofocusFailed()  | 
protected void | 
onFragmentConfigurationChanged(android.content.res.Configuration newConfig)  | 
protected void | 
onFragmentCreated(android.os.Bundle savedInstanceState)  | 
protected void | 
onFragmentDestroyed()  | 
protected void | 
onFragmentPaused()  | 
protected void | 
onFragmentResumed()  | 
protected void | 
onFragmentSaveInstanceState(android.os.Bundle outState)  | 
protected void | 
onFragmentStarted()  | 
protected void | 
onFragmentStopped()  | 
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 | 
onUnrecoverableError(java.lang.Throwable throwable)
This method is called when the scanning cannot be performed because of an error. 
 | 
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) }. | 
protected void | 
setMeteringAreas()  | 
protected abstract boolean | 
shouldResetStateOnRecognizerResume()  | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitonScanningDone@NonNull protected ScanResultListener scanResultListener
@NonNull protected OverlayState overlayState
@Nullable protected RecognizerRunnerFragment recognizerRunnerFragment
@Nullable protected RecognizerRunnerView recognizerRunnerView
@NonNull protected android.os.Handler handler
@Nullable protected android.app.AlertDialog errorDialog
@NonNull protected ScanSoundPlayer scanSoundPlayer
@NonNull protected TorchController torchController
protected BaseOverlayController(@NonNull
                                ScanResultListener scanResultListener)
@CallSuper
public void onRecognizerRunnerViewCreated(@NonNull
                                                     RecognizerRunnerFragment recognizerRunnerFragment)
ScanningOverlayRecognizerRunnerView 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.onRecognizerRunnerViewCreated in interface ScanningOverlayrecognizerRunnerFragment - RecognizerRunnerFragment within which RecognizerRunnerView has been created.@AnyThread public void resumeScanning()
ScanningOverlayRecognizerRunnerView 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.
resumeScanning in interface ScanningOverlayRecognizerRunnerView.resumeScanning(boolean)protected abstract boolean shouldResetStateOnRecognizerResume()
@AnyThread public void pauseScanning()
ScanningOverlayRecognizerRunnerView 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().
pauseScanning in interface ScanningOverlayRecognizerRunnerView.pauseScanning()protected abstract int getBeepSoundResourceId()
@CallSuper
public void onRecognizerRunnerFragmentAttached(@NonNull
                                                          RecognizerRunnerFragment recognizerRunnerFragment,
                                                          @NonNull
                                                          android.app.Activity activity)
ScanningOverlayRecognizerRunnerFragment 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.onRecognizerRunnerFragmentAttached in interface ScanningOverlayrecognizerRunnerFragment - RecognizerRunnerFragment that has been attached to host activity.activity - Activity to which RecognizerRunnerFragment has been attached.@NonNull protected android.content.Context getContext()
@LayoutRes protected abstract int getSplashScreenLayoutId()
protected void setMeteringAreas()
protected void onFragmentCreated(@Nullable
                                 android.os.Bundle savedInstanceState)
protected void onFragmentStarted()
protected void onFragmentResumed()
protected void onFragmentPaused()
protected void onFragmentStopped()
protected void onFragmentDestroyed()
protected void onFragmentConfigurationChanged(@NonNull
                                              android.content.res.Configuration newConfig)
protected void onFragmentSaveInstanceState(@Nullable
                                           android.os.Bundle outState)
protected void onCameraAutofocusFailed()
public void onUnrecoverableError(@NonNull
                                 java.lang.Throwable throwable)
ScanResultListeneronUnrecoverableError in interface ScanResultListenerthrowable - type of errorpublic void onFrameRecognitionDone(RecognitionSuccessType recognitionSuccessType)
ScanningOverlayonFrameRecognitionDone in interface ScanningOverlayrecognitionSuccessType - frame recognition status.