Package com.microblink.view.recognition
Class RecognizerRunnerView
- java.lang.Object
-
- android.view.View
-
- android.view.ViewGroup
-
- com.microblink.view.BaseCameraView
-
- com.microblink.view.CameraViewGroup
-
- com.microblink.view.recognition.RecognizerRunnerView
-
- All Implemented Interfaces:
android.graphics.drawable.Drawable.Callback
,android.view.accessibility.AccessibilityEventSource
,android.view.KeyEvent.Callback
,android.view.ViewManager
,android.view.ViewParent
,androidx.lifecycle.LifecycleObserver
public final class RecognizerRunnerView extends CameraViewGroup implements androidx.lifecycle.LifecycleObserver
A view that controls the camera and recognition procedure.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.microblink.view.CameraViewGroup
CameraViewGroup.CameraViewGroupOrientationChangeListener, CameraViewGroup.LayoutParams
-
Nested classes/interfaces inherited from class com.microblink.view.BaseCameraView
BaseCameraView.BaseCameraListener, BaseCameraView.BaseCameraViewEventsListener, BaseCameraView.BaseOrientationChangeListener, BaseCameraView.CameraViewState, BaseCameraView.VisiblePartUpdateListener
-
Nested classes/interfaces inherited from class android.view.ViewGroup
android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener
-
Nested classes/interfaces inherited from class android.view.View
android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener
-
-
Field Summary
-
Fields inherited from class com.microblink.view.BaseCameraView
mAspectMode, mCameraEventsListener, mCameraSurfaceView, mCameraViewState, mConfigurationOrientation, mDeviceManager, mErrorState, mHostScreenOrientation, mInitialOrientation, mIsRequestedOrientationSensor, mIsRequestedOrientationUser, mOnActivityFlipListener, mPreviewZoomScale, mRotateMeteringAreas, mSlaveOrientationChangeListeners
-
Fields inherited from class android.view.ViewGroup
CLIP_TO_PADDING_MASK, FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE
-
Fields inherited from class android.view.View
ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, EMPTY_STATE_SET, ENABLED_FOCUSED_SELECTED_STATE_SET, ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_FOCUSED_STATE_SET, ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, ENABLED_SELECTED_STATE_SET, ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_STATE_SET, ENABLED_WINDOW_FOCUSED_STATE_SET, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, FOCUSED_SELECTED_STATE_SET, FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, FOCUSED_STATE_SET, FOCUSED_WINDOW_FOCUSED_STATE_SET, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_CAPTURE_HINT_AUTO, SCROLL_CAPTURE_HINT_EXCLUDE, SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS, SCROLL_CAPTURE_HINT_INCLUDE, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VIEW_LOG_TAG, VISIBLE, WINDOW_FOCUSED_STATE_SET, X, Y, Z
-
-
Constructor Summary
Constructors Constructor Description RecognizerRunnerView(android.content.Context context)
RecognizerRunnerView(android.content.Context context, android.util.AttributeSet attrSet)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
captureHighResImage(com.microblink.view.recognition.HighResImageListener highResImageListener)
Starts capturing frame at full camera resolution and notifies listener once it's done.protected void
changeConfigurationInternal(android.content.res.Configuration newConfig)
void
create()
This method must be called from activity's onCreate.protected com.microblink.hardware.camera.CameraListener
createCameraListener()
ABSTRACT METHODSprotected com.microblink.hardware.orientation.OrientationChangeListener
createOrientationChangeListener()
void
destroy()
This method must be called from activity's onDestroy.RecognizerBundle
getRecognizerBundle()
Returns the currently active recognizer bundle.Rectangle
getScanningRegion()
Returns the current scanning region or null if entire image is scanned.ScanResultListener
getScanResultListener()
Returns the listener that will obtain the results of the scanning.boolean
isScanningPaused()
Returns true if scanning is paused or if scanning still has not yet started.protected void
onActivityFlip()
Called when activity is flipped - this event is not raised by OS so we have custom detection of that state.protected void
onCameraPreviewStarted()
protected void
onCameraPreviewStopped()
void
pause()
This method must be called from activity's onPause.void
pauseScanning()
Pauses the scanning loop.protected void
prepareCameraSettings(com.microblink.hardware.camera.CameraSettings settings)
Called inside onCreate method before creating camera manager.void
reconfigureRecognizers(RecognizerBundle recognizerBundle)
Use this method to reconfigure available recognizers.protected boolean
requireAutofocusFeature()
If autofocus feature is required, please return true from this method.void
resetRecognitionState()
Resets the recognition state, i.e.void
resetRecognitionState(boolean hardReset)
Resets the recognition state.void
resume()
This method must be called from activity's onResume.void
resumeScanning(boolean resetState)
This method resumes scanning loop that was paused by callingpauseScanning()
.void
setFrameRecognitionCallback(com.microblink.view.recognition.FrameRecognitionCallback frameRecognitionCallback)
Sets the frame recognition callback that will be invoked for each camera frame, after the recognition has been completed.void
setLifecycle(androidx.lifecycle.Lifecycle lifecycle)
void
setMetadataCallbacks(MetadataCallbacks metadataCallbacks)
Sets the metadata callbacks that will obtain metadata during processing.void
setRecognizerBundle(RecognizerBundle recognizerBundle)
Sets the recognizer bundle containing recognizers that will perform the recognition.void
setScanningRegion(Rectangle scanningRegion, boolean rotateRegionWithDevice)
Define scanning region as a rectangle.void
setScanResultListener(ScanResultListener scanResultListener)
Sets the listener that will obtain the results of the scanning.boolean
shouldRotateScanningRegion()
Returns true if scanning region should be rotated with device.protected boolean
shouldStartCamera()
void
start()
This method must be called from activity's onStart.void
stop()
This method must be called from activity's onStop.-
Methods inherited from class com.microblink.view.CameraViewGroup
addChildView, addChildView, addView, addView, addView, addView, addView, checkLayoutParams, dispatchTouchEvent, generateDefaultLayoutParams, generateLayoutParams, getRotationAnimationDuration, setAnimateRotation, setInitialOrientation, setRotationAnimationDuration, shouldAnimateRotation
-
Methods inherited from class com.microblink.view.BaseCameraView
addOrientationChangeListener, areCameraPixelsLandscapeLeft, calculateHostScreenOrientation, captureHighResFrame, changeConfiguration, createCameraViewEventsListener, focusCamera, getAspectMode, getCameraEventsListener, getCameraFactorySettings, getCameraPreviewHeight, getCameraPreviewWidth, getCameraSensorOrientation, getCameraViewState, getConfigurationOrientation, getCurrentOrientation, getHighResFrameLimit, getHostActivity, getHostScreenOrientation, getInitialOrientation, getOpenedCameraType, getPreviewZoomScale, getVisiblePart, getZoomLevel, isAutofocusSupported, isCameraActive, isCameraFocused, isCameraTorchSupported, isDeviceShaking, isHighResFrameCaptureEnabled, isHostActivityOrientationOnSensor, isOrientationAllowed, isPinchToZoomAllowed, isRequestedOrientationSensor, isRequestedOrientationUser, isTapToFocusAllowed, onLayout, onMeasure, removeOrientationChangeListener, runOnUIThread, setAspectMode, setCameraEventsListener, setCameraFrameFactory, setCameraType, setForceUseLegacyCamera, setHighResFrameCaptureEnabled, setHighResFrameLimit, setMeteringAreas, setMeteringAreasToCamera, setOnActivityFlipListener, setOnSizeChangedListener, setOptimizeCameraForNearScan, setOrientationAllowedListener, setPinchToZoomAllowed, setPreviewZoomScale, setRequestAutofocusOnShakingStopInContinousAutofocusMode, setRequestedSurfaceViewForCameraDisplay, setShakeListener, setTapToFocusAllowed, setTorchState, setVideoResolutionPreset, setVisiblePartUpdateListener, setZoomLevel
-
Methods inherited from class android.view.ViewGroup
addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addViewInLayout, addViewInLayout, attachLayoutAnimationParameters, attachViewToParent, bringChildToFront, canAnimate, childDrawableStateChanged, childHasTransientStateChanged, cleanupLayoutState, clearChildFocus, clearDisappearingChildren, clearFocus, debug, detachAllViewsFromParent, detachViewFromParent, detachViewFromParent, detachViewsFromParent, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchCreateViewTranslationRequest, dispatchDisplayHint, dispatchDragEvent, dispatchDraw, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchFreezeSelfOnly, dispatchGenericFocusedEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchScrollCaptureSearch, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, generateLayoutParams, getAccessibilityClassName, getChildAt, getChildCount, getChildDrawingOrder, getChildDrawingOrder, getChildMeasureSpec, getChildStaticTransformation, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isChildrenDrawingOrderEnabled, isChildrenDrawnWithCacheEnabled, isLayoutSuppressed, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onAttachedToWindow, onCreateDrawableState, onDescendantInvalidated, onDetachedFromWindow, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestFocusInDescendants, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeDetachedView, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setChildrenDrawingCacheEnabled, setChildrenDrawingOrderEnabled, setChildrenDrawnWithCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setStaticTransformationsEnabled, setTouchscreenBlocksFocus, setTransitionGroup, setWindowInsetsAnimationCallback, shouldDelayChildPressedState, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayout
-
Methods inherited from class android.view.View
addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, autofill, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, clearViewTranslationCallback, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, generateDisplayHash, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getContextMenuInfo, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getReceiveContentMimeTypes, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootSurfaceControl, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollCaptureHint, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTranslationResponse, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateInputConnection, onCreateViewTranslationRequest, onCreateVirtualViewTranslationRequests, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onFocusChanged, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onOverScrolled, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onReceiveContent, onRestoreInstanceState, onRtlPropertiesChanged, onSaveInstanceState, onScreenStateChanged, onScrollCaptureSearch, onScrollChanged, onSetAlpha, onSizeChanged, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onViewTranslationResponse, onVirtualViewTranslationResponses, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, onWindowVisibilityChanged, overScrollBy, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, performReceiveContent, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAllowClickWhenDisabled, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLeftTopRightBottom, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnReceiveContentListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRenderEffect, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollCaptureCallback, setScrollCaptureHint, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setViewTranslationCallback, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDraw
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface android.view.ViewParent
canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayout
-
-
-
-
Method Detail
-
create
@UiThread public void create()
This method must be called from activity's onCreate. If not called, recognition will not work.- Overrides:
create
in classCameraViewGroup
- Throws:
java.lang.UnsatisfiedLinkError
- if native library could not be loadedjava.lang.NullPointerException
- if scan result listener or camera events listener is not setjava.lang.IllegalStateException
- if recognizer settings array is null or empty
-
setLifecycle
public void setLifecycle(@NonNull androidx.lifecycle.Lifecycle lifecycle)
Sets lifecycle that will be observed so that you don't have to manually callcreate()
,resume()
and other lifecycle methods.- Parameters:
lifecycle
- lifecycle that will be observed
-
prepareCameraSettings
protected final void prepareCameraSettings(@NonNull com.microblink.hardware.camera.CameraSettings settings)
Description copied from class:BaseCameraView
Called inside onCreate method before creating camera manager. Use this method to create camera settings that are used on each startPreview event.- Overrides:
prepareCameraSettings
in classBaseCameraView
-
start
@MainThread public final void start()
This method must be called from activity's onStart. If not called, recognition will not work.- Overrides:
start
in classBaseCameraView
-
stop
@MainThread public final void stop()
This method must be called from activity's onStop. If not called, recognition will not work.- Overrides:
stop
in classBaseCameraView
-
resume
@MainThread public final void resume()
This method must be called from activity's onResume. If not called, recognition will not work.- Overrides:
resume
in classBaseCameraView
-
resumeScanning
@AnyThread public final void resumeScanning(boolean resetState)
This method resumes scanning loop that was paused by callingpauseScanning()
. If resetState is 'true',resetRecognitionState()
will be called. If resetState is 'false', recognition state will not be reset, so scanning after resume may use old scan data to boost quality.pauseScanning()
andresumeScanning(boolean)
are counting calls. This means that if you calledpauseScanning()
twice, you will also have to callresumeScanning(boolean)
twice to actually resume scanning.- Parameters:
resetState
- should internal state be reset when resuming scanning
-
pauseScanning
@AnyThread public final void pauseScanning()
Pauses the scanning loop. But keeps camera active. You can resume scanning by callingresumeScanning(boolean)
.pauseScanning()
andresumeScanning(boolean)
are counting calls. This means that if you calledpauseScanning()
twice, you will also have to callresumeScanning(boolean)
to actually resume scanning.
-
pause
@MainThread public final void pause()
This method must be called from activity's onPause. If not called, recognition will not work. This method pauses the camera.- Overrides:
pause
in classBaseCameraView
-
onCameraPreviewStopped
protected void onCameraPreviewStopped()
- Overrides:
onCameraPreviewStopped
in classBaseCameraView
-
destroy
@MainThread public final void destroy()
This method must be called from activity's onDestroy. If not called, recognition will not work.- Overrides:
destroy
in classBaseCameraView
-
shouldStartCamera
protected final boolean shouldStartCamera()
- Overrides:
shouldStartCamera
in classBaseCameraView
-
onCameraPreviewStarted
protected void onCameraPreviewStarted()
- Overrides:
onCameraPreviewStarted
in classBaseCameraView
-
resetRecognitionState
@AnyThread public final void resetRecognitionState()
Resets the recognition state, i.e. clears the cached data and all scanning results. Recognition starts from the beginning.
-
resetRecognitionState
@AnyThread public final void resetRecognitionState(boolean hardReset)
Resets the recognition state. If hard reset is requested, clears the cached data and all scanning results and recognition starts from the beginning. Otherwise, if soft reset is requested and the recognition is consisted of multiple steps, clears the scanning cache and results only for the current step.- Parameters:
hardReset
-true
to request hard reset,false
for the soft reset.
-
isScanningPaused
@AnyThread public boolean isScanningPaused()
Returns true if scanning is paused or if scanning still has not yet started.- Returns:
- true if scanning is paused or if scanning still has not yet started.
-
reconfigureRecognizers
@MainThread public void reconfigureRecognizers(@Nullable RecognizerBundle recognizerBundle)
Use this method to reconfigure available recognizers. UnlikesetRecognizerBundle(RecognizerBundle)
, this method can be called when recognizers are active.- Parameters:
recognizerBundle
- New recognition settings that will be applied.
-
requireAutofocusFeature
protected boolean requireAutofocusFeature()
Description copied from class:BaseCameraView
If autofocus feature is required, please return true from this method. If autofocus feature is not required, return false. If autofocus is required and device does not support autofocus, error will be raised and application will not start. If autofocus is not required, application will work even on devices without autofocus.- Specified by:
requireAutofocusFeature
in classBaseCameraView
- Returns:
- True if autofocus is required, otherwise false.
-
onActivityFlip
protected void onActivityFlip()
Description copied from class:BaseCameraView
Called when activity is flipped - this event is not raised by OS so we have custom detection of that state.- Specified by:
onActivityFlip
in classBaseCameraView
-
createCameraListener
@NonNull protected final com.microblink.hardware.camera.CameraListener createCameraListener()
Description copied from class:BaseCameraView
ABSTRACT METHODS- Specified by:
createCameraListener
in classBaseCameraView
-
createOrientationChangeListener
@NonNull protected final com.microblink.hardware.orientation.OrientationChangeListener createOrientationChangeListener()
- Overrides:
createOrientationChangeListener
in classCameraViewGroup
-
setScanningRegion
@UiThread public final void setScanningRegion(@Nullable Rectangle scanningRegion, boolean rotateRegionWithDevice)
Define scanning region as a rectangle. Also define whether scanning region will rotate when device orientation changes. first parameter of rectangle is x-coordinate represented as percentage of view width, second parameter is y-coordinate represented as percentage of view height, third parameter is region width represented as percentage of view width and fourth parameter is region height represented as percentage of view height View width and height are defined in current context, i.e. they depend on screen orientation. If you allow your ROI view to be rotated, then in portrait view width will be smaller than height, whilst in landscape orientation width will be larger than height. This complies with view designer preview. If you choose not to rotate your ROI view, then your ROI view will be laid out either in portrait or landscape, depending on setting for your camera activity in AndroidManifest.xml Note that scanning region only reflects to native code - it does not have any impact on user interface. You are required to create a matching user interface that will visualize the same scanning region you set here.- Parameters:
scanningRegion
- Rectangle to define a scanning region or null to scan entire image.rotateRegionWithDevice
- If set to true, scanning region will be rotate when device changes orientation.
-
changeConfigurationInternal
protected void changeConfigurationInternal(@NonNull android.content.res.Configuration newConfig)
- Overrides:
changeConfigurationInternal
in classCameraViewGroup
-
shouldRotateScanningRegion
public boolean shouldRotateScanningRegion()
Returns true if scanning region should be rotated with device.- Returns:
- true if scanning region should be rotated with device.
-
getScanningRegion
@Nullable public Rectangle getScanningRegion()
Returns the current scanning region or null if entire image is scanned.- Returns:
- the current scanning region or null if entire image is scanned.
-
getRecognizerBundle
@Nullable @AnyThread public RecognizerBundle getRecognizerBundle()
Returns the currently active recognizer bundle.- Returns:
- the currently active recognizer bundle.
-
setRecognizerBundle
@MainThread public void setRecognizerBundle(@Nullable RecognizerBundle recognizerBundle)
Sets the recognizer bundle containing recognizers that will perform the recognition. This method must be called before callingcreate()
to have effect.- Parameters:
recognizerBundle
- recognizer bundle containing recognizers that will perform the recognition.
-
setScanResultListener
@MainThread public void setScanResultListener(@NonNull ScanResultListener scanResultListener)
Sets the listener that will obtain the results of the scanning. If you do not set this listener, scanner will not be able to work. This method must be called before calling create to have effect.- Parameters:
scanResultListener
- listener that will obtain result of the scanning
-
setMetadataCallbacks
@AnyThread public void setMetadataCallbacks(@Nullable MetadataCallbacks metadataCallbacks)
Sets the metadata callbacks that will obtain metadata during processing.- Parameters:
metadataCallbacks
- collection of metadata callbacks tha will obtain metadata during processing. If set to null, all callbacks will be disabled.
-
setFrameRecognitionCallback
@AnyThread public void setFrameRecognitionCallback(@Nullable com.microblink.view.recognition.FrameRecognitionCallback frameRecognitionCallback)
Sets the frame recognition callback that will be invoked for each camera frame, after the recognition has been completed.- Parameters:
frameRecognitionCallback
- callback that will be invoked for each camera frame, after the recognition has been completed.
-
getScanResultListener
@Nullable public ScanResultListener getScanResultListener()
Returns the listener that will obtain the results of the scanning.- Returns:
- the listener that will obtain the results of the scanning.
-
captureHighResImage
@AnyThread public void captureHighResImage(@Nullable com.microblink.view.recognition.HighResImageListener highResImageListener)
Starts capturing frame at full camera resolution and notifies listener once it's done.- Parameters:
highResImageListener
- listener that will be notified when high res frame is available
-
-