Class SessionActivity<T extends android.view.View & ISessionView>

  • All Implemented Interfaces:
    android.content.ComponentCallbacks, android.content.ComponentCallbacks2, android.view.contentcapture.ContentCaptureManager.ContentCaptureClient, android.view.KeyEvent.Callback, android.view.LayoutInflater.Factory, android.view.LayoutInflater.Factory2, android.view.View.OnCreateContextMenuListener, android.view.Window.Callback, android.view.Window.OnWindowDismissedCallback, androidx.activity.contextaware.ContextAware, androidx.activity.OnBackPressedDispatcherOwner, androidx.activity.result.ActivityResultCaller, androidx.activity.result.ActivityResultRegistryOwner, androidx.appcompat.app.ActionBarDrawerToggle.DelegateProvider, androidx.appcompat.app.AppCompatCallback, androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback, androidx.core.app.ActivityCompat.RequestPermissionsRequestCodeValidator, androidx.core.app.OnMultiWindowModeChangedProvider, androidx.core.app.OnNewIntentProvider, androidx.core.app.OnPictureInPictureModeChangedProvider, androidx.core.app.TaskStackBuilder.SupportParentable, androidx.core.content.OnConfigurationChangedProvider, androidx.core.content.OnTrimMemoryProvider, androidx.core.view.KeyEventDispatcher.Component, androidx.core.view.MenuHost, androidx.lifecycle.HasDefaultViewModelProviderFactory, androidx.lifecycle.LifecycleOwner, androidx.lifecycle.ViewModelStoreOwner, androidx.savedstate.SavedStateRegistryOwner, CameraWrapper.Listener, ISessionActivity, ISessionView.SessionViewListener, java.lang.Iterable<FaceBounds>

    public class SessionActivity<T extends android.view.View & ISessionView>
    extends androidx.appcompat.app.AppCompatActivity
    implements ISessionActivity, ISessionView.SessionViewListener, java.lang.Iterable<FaceBounds>, CameraWrapper.Listener
    Activity used to control Ver-ID sessions
    Since:
    2.0.0
    • Nested Class Summary

      • Nested classes/interfaces inherited from class androidx.core.app.ComponentActivity

        androidx.core.app.ComponentActivity.ExtraData
      • Nested classes/interfaces inherited from class android.app.Activity

        android.app.Activity.TranslucentConversionListener
      • Nested classes/interfaces inherited from class android.content.Context

        android.content.Context.BindServiceFlags, android.content.Context.CreatePackageOptions, android.content.Context.DatabaseMode, android.content.Context.FileMode, android.content.Context.PreferencesMode, android.content.Context.RegisterReceiverFlags, android.content.Context.ServiceName
      • Nested classes/interfaces inherited from interface android.content.ComponentCallbacks2

        android.content.ComponentCallbacks2.TrimMemoryLevel
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String EXTRA_SESSION_ID
      The constant EXTRA_SESSION_ID.
      protected static int REQUEST_CODE_CAMERA_PERMISSION
      The constant REQUEST_CODE_CAMERA_PERMISSION.
      • Fields inherited from class android.app.Activity

        DEFAULT_KEYS_DIALER, DEFAULT_KEYS_DISABLE, DEFAULT_KEYS_SEARCH_GLOBAL, DEFAULT_KEYS_SEARCH_LOCAL, DEFAULT_KEYS_SHORTCUT, DONT_FINISH_TASK_WITH_ACTIVITY, DUMP_ARG_AUTOFILL, DUMP_ARG_CONTENT_CAPTURE, DUMP_ARG_DUMP_DUMPABLE, DUMP_ARG_LIST_DUMPABLES, DUMP_ARG_TRANSLATION, FINISH_TASK_WITH_ACTIVITY, FINISH_TASK_WITH_ROOT_ACTIVITY, FOCUSED_STATE_SET, RESULT_CANCELED, RESULT_FIRST_USER, RESULT_OK
      • Fields inherited from class android.content.ContextWrapper

        mCallbacksRegisteredToSuper
      • Fields inherited from class android.content.Context

        ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ACTIVITY_TASK_SERVICE, ADB_SERVICE, ALARM_SERVICE, AMBIENT_CONTEXT_SERVICE, APP_BINDING_SERVICE, APP_HIBERNATION_SERVICE, APP_INTEGRITY_SERVICE, APP_OPS_SERVICE, APP_PREDICTION_SERVICE, APP_SEARCH_SERVICE, APPWIDGET_SERVICE, ATTENTION_SERVICE, ATTESTATION_VERIFICATION_SERVICE, AUDIO_SERVICE, AUTH_SERVICE, AUTOFILL_MANAGER_SERVICE, BACKUP_SERVICE, BATTERY_SERVICE, BATTERY_STATS_SERVICE, BINARY_TRANSPARENCY_SERVICE, BIND_ABOVE_CLIENT, BIND_ADJUST_WITH_ACTIVITY, BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS, BIND_ALLOW_FOREGROUND_SERVICE_STARTS_FROM_BACKGROUND, BIND_ALLOW_INSTANT, BIND_ALLOW_OOM_MANAGEMENT, BIND_ALLOW_WHITELIST_MANAGEMENT, BIND_ALMOST_PERCEPTIBLE, BIND_AUTO_CREATE, BIND_BYPASS_POWER_NETWORK_RESTRICTIONS, BIND_DEBUG_UNBIND, BIND_EXTERNAL_SERVICE, BIND_FOREGROUND_SERVICE, BIND_FOREGROUND_SERVICE_WHILE_AWAKE, BIND_IMPORTANT, BIND_IMPORTANT_BACKGROUND, BIND_INCLUDE_CAPABILITIES, BIND_NOT_APP_COMPONENT_USAGE, BIND_NOT_FOREGROUND, BIND_NOT_PERCEPTIBLE, BIND_NOT_VISIBLE, BIND_REDUCTION_FLAGS, BIND_RESTRICT_ASSOCIATIONS, BIND_SCHEDULE_LIKE_TOP_APP, BIND_SHOWING_UI, BIND_TREAT_LIKE_ACTIVITY, BIND_TREAT_LIKE_VISIBLE_FOREGROUND_SERVICE, BIND_VISIBLE, BIND_WAIVE_PRIORITY, BIOMETRIC_SERVICE, BLOB_STORE_SERVICE, BLUETOOTH_SERVICE, BUGREPORT_SERVICE, CAMERA_SERVICE, CAPTIONING_SERVICE, CARRIER_CONFIG_SERVICE, CLIPBOARD_SERVICE, CLOUDSEARCH_SERVICE, COLOR_DISPLAY_SERVICE, COMPANION_DEVICE_SERVICE, CONNECTIVITY_DIAGNOSTICS_SERVICE, CONNECTIVITY_SERVICE, CONSUMER_IR_SERVICE, CONTENT_CAPTURE_MANAGER_SERVICE, CONTENT_SUGGESTIONS_SERVICE, CONTEXT_CREDENTIAL_PROTECTED_STORAGE, CONTEXT_DEVICE_PROTECTED_STORAGE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_REGISTER_PACKAGE, CONTEXT_RESTRICTED, CONTEXTHUB_SERVICE, COUNTRY_DETECTOR, CROSS_PROFILE_APPS_SERVICE, DATA_LOADER_MANAGER_SERVICE, DEVICE_IDENTIFIERS_SERVICE, DEVICE_IDLE_CONTROLLER, DEVICE_POLICY_SERVICE, DEVICE_STATE_SERVICE, DISPLAY_HASH_SERVICE, DISPLAY_SERVICE, DOMAIN_VERIFICATION_SERVICE, DOWNLOAD_SERVICE, DREAM_SERVICE, DROPBOX_SERVICE, DYNAMIC_SYSTEM_SERVICE, ETHERNET_SERVICE, EUICC_CARD_SERVICE, EUICC_SERVICE, FACE_SERVICE, FILE_INTEGRITY_SERVICE, FINGERPRINT_SERVICE, FONT_SERVICE, GAME_SERVICE, GATEKEEPER_SERVICE, HARDWARE_PROPERTIES_SERVICE, HDMI_CONTROL_SERVICE, IDMAP_SERVICE, INCIDENT_COMPANION_SERVICE, INCIDENT_SERVICE, INCREMENTAL_SERVICE, INPUT_METHOD_SERVICE, INPUT_SERVICE, IPSEC_SERVICE, IRIS_SERVICE, JOB_SCHEDULER_SERVICE, KEYGUARD_SERVICE, LAUNCHER_APPS_SERVICE, LAYOUT_INFLATER_SERVICE, LEGACY_PERMISSION_SERVICE, LIGHTS_SERVICE, LOCALE_SERVICE, LOCATION_SERVICE, LOWPAN_SERVICE, MEDIA_COMMUNICATION_SERVICE, MEDIA_METRICS_SERVICE, MEDIA_PROJECTION_SERVICE, MEDIA_ROUTER_SERVICE, MEDIA_SESSION_SERVICE, MEDIA_TRANSCODING_SERVICE, MIDI_SERVICE, MMS_SERVICE, MODE_APPEND, MODE_ENABLE_WRITE_AHEAD_LOGGING, MODE_MULTI_PROCESS, MODE_NO_LOCALIZED_COLLATORS, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, MUSIC_RECOGNITION_SERVICE, NEARBY_SERVICE, NETD_SERVICE, NETWORK_POLICY_SERVICE, NETWORK_SCORE_SERVICE, NETWORK_STACK_SERVICE, NETWORK_STATS_SERVICE, NETWORK_WATCHLIST_SERVICE, NETWORKMANAGEMENT_SERVICE, NFC_SERVICE, NOTIFICATION_SERVICE, NSD_SERVICE, OEM_LOCK_SERVICE, OVERLAY_SERVICE, OVERRIDABLE_COMPONENT_CALLBACKS, PAC_PROXY_SERVICE, PEOPLE_SERVICE, PERFORMANCE_HINT_SERVICE, PERMISSION_CHECKER_SERVICE, PERMISSION_CONTROLLER_SERVICE, PERMISSION_SERVICE, PERSISTENT_DATA_BLOCK_SERVICE, PLATFORM_COMPAT_NATIVE_SERVICE, PLATFORM_COMPAT_SERVICE, POWER_EXEMPTION_SERVICE, POWER_SERVICE, POWER_STATS_SERVICE, POWER_WHITELIST_MANAGER, PRINT_SERVICE, RADIO_SERVICE, REBOOT_READINESS_SERVICE, RECEIVER_EXPORTED, RECEIVER_EXPORTED_UNAUDITED, RECEIVER_NOT_EXPORTED, RECEIVER_VISIBLE_TO_INSTANT_APPS, RECOVERY_SERVICE, RESOURCE_ECONOMY_SERVICE, RESOURCES_SERVICE, RESTRICTIONS_SERVICE, ROLE_SERVICE, ROLLBACK_SERVICE, ROTATION_RESOLVER_SERVICE, SAFETY_CENTER_SERVICE, SEARCH_SERVICE, SEARCH_UI_SERVICE, SECURE_ELEMENT_SERVICE, SELECTION_TOOLBAR_SERVICE, SENSOR_PRIVACY_SERVICE, SENSOR_SERVICE, SERIAL_SERVICE, SHORTCUT_SERVICE, SIP_SERVICE, SLICE_SERVICE, SMARTSPACE_SERVICE, SMS_SERVICE, SOUND_TRIGGER_MIDDLEWARE_SERVICE, SOUND_TRIGGER_SERVICE, SPEECH_RECOGNITION_SERVICE, STATS_BOOTSTRAP_ATOM_SERVICE, STATS_COMPANION_SERVICE, STATS_MANAGER, STATS_MANAGER_SERVICE, STATUS_BAR_SERVICE, STORAGE_SERVICE, STORAGE_STATS_SERVICE, SYSTEM_CONFIG_SERVICE, SYSTEM_HEALTH_SERVICE, SYSTEM_UPDATE_SERVICE, TELECOM_SERVICE, TELEPHONY_IMS_SERVICE, TELEPHONY_RCS_MESSAGE_SERVICE, TELEPHONY_REGISTRY_SERVICE, TELEPHONY_SERVICE, TELEPHONY_SUBSCRIPTION_SERVICE, TEST_NETWORK_SERVICE, TETHERING_SERVICE, TEXT_CLASSIFICATION_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, TEXT_TO_SPEECH_MANAGER_SERVICE, THERMAL_SERVICE, TIME_DETECTOR_SERVICE, TIME_MANAGER, TIME_ZONE_DETECTOR_SERVICE, TIME_ZONE_RULES_MANAGER_SERVICE, TRANSLATION_MANAGER_SERVICE, TRUST_SERVICE, TV_INPUT_SERVICE, TV_INTERACTIVE_APP_SERVICE, TV_TUNER_RESOURCE_MGR_SERVICE, UI_MODE_SERVICE, UI_TRANSLATION_SERVICE, UPDATE_LOCK_SERVICE, URI_GRANTS_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, UWB_SERVICE, VCN_MANAGEMENT_SERVICE, VIBRATOR_MANAGER_SERVICE, VIBRATOR_SERVICE, VIRTUAL_DEVICE_SERVICE, VOICE_INTERACTION_MANAGER_SERVICE, VPN_MANAGEMENT_SERVICE, VR_SERVICE, WALLPAPER_EFFECTS_GENERATION_SERVICE, WALLPAPER_SERVICE, WIFI_AWARE_SERVICE, WIFI_NL80211_SERVICE, WIFI_P2P_SERVICE, WIFI_RTT_RANGING_SERVICE, WIFI_RTT_SERVICE, WIFI_SCANNING_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
      • Fields inherited from interface android.content.ComponentCallbacks2

        TRIM_MEMORY_BACKGROUND, TRIM_MEMORY_COMPLETE, TRIM_MEMORY_MODERATE, TRIM_MEMORY_RUNNING_CRITICAL, TRIM_MEMORY_RUNNING_LOW, TRIM_MEMORY_RUNNING_MODERATE, TRIM_MEMORY_UI_HIDDEN
    • Constructor Summary

      Constructors 
      Constructor Description
      SessionActivity()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void cancelSession()
      Cancel Ver-ID session
      protected void drawFaces​(java.util.List<? extends android.graphics.drawable.Drawable> faceImages)  
      protected void executeInBackground​(java.lang.Runnable runnable)
      Execute in background.
      protected void fail​(VerIDSessionException error)
      Fail the session
      protected java.util.Optional<CameraWrapper> getCameraWrapper()  
      protected FaceExtents getDefaultFaceExtents()
      Gets default face extents.
      protected int getDisplayRotation()  
      protected int getFaceImageHeight()  
      protected java.util.Optional<Session<?>> getSession()
      Get Ver-ID session
      java.util.Optional<SessionParameters> getSessionParameters()  
      protected java.util.Optional<ISessionVideoRecorder> getSessionVideoRecorder()  
      protected java.util.Optional<T> getSessionView()  
      protected Size getViewSize()  
      protected boolean hasCameraPermission()
      Has camera permission boolean.
      java.util.Iterator<FaceBounds> iterator()  
      void onCameraError​(VerIDSessionException error)
      Called when opening the camera or starting a preview fails
      void onCameraPreviewSize​(int width, int height, int sensorOrientation)
      Called when the camera determines its preview size based on the dimensions of the containing view
      protected void onCreate​(android.os.Bundle savedInstanceState)
      Called when the activity is starting.
      protected void onDestroy()
      Perform any final cleanup before an activity is destroyed.
      protected void onFaceCapture​(FaceCapture faceCapture)  
      protected void onFaceDetection​(FaceDetectionResult faceDetectionResult)  
      protected void onPause()
      Called as part of the activity lifecycle when the user no longer actively interacts with the activity, but it is still visible on screen.
      void onPreviewSurfaceCreated​(android.view.Surface surface)
      Called when camera preview surface is created
      void onPreviewSurfaceDestroyed()
      Called when camera preview surface is destroyed
      void onRequestPermissionsResult​(int requestCode, java.lang.String[] permissions, int[] grantResults)
      Callback for the result from requesting permissions.
      protected void onResume()
      Called after Activity.onRestoreInstanceState(android.os.Bundle), Activity.onRestart(), or Activity.onPause().
      protected void onSessionResult​(VerIDSessionResult result)  
      void setSessionParameters​(SessionParameters sessionParameters)
      Set session parameters
      protected void startSession()
      Start Ver-ID session
      • Methods inherited from class androidx.appcompat.app.AppCompatActivity

        addContentView, attachBaseContext, closeOptionsMenu, dispatchKeyEvent, findViewById, getDelegate, getDrawerToggleDelegate, getMenuInflater, getResources, getSupportActionBar, getSupportParentActivityIntent, invalidateOptionsMenu, onConfigurationChanged, onContentChanged, onCreateSupportNavigateUpTaskStack, onKeyDown, onLocalesChanged, onMenuItemSelected, onMenuOpened, onNightModeChanged, onPanelClosed, onPostCreate, onPostResume, onPrepareSupportNavigateUpTaskStack, onStart, onStop, onSupportActionModeFinished, onSupportActionModeStarted, onSupportContentChanged, onSupportNavigateUp, onTitleChanged, onWindowStartingSupportActionMode, openOptionsMenu, setContentView, setContentView, setContentView, setSupportActionBar, setSupportProgress, setSupportProgressBarIndeterminate, setSupportProgressBarIndeterminateVisibility, setSupportProgressBarVisibility, setTheme, startSupportActionMode, supportInvalidateOptionsMenu, supportNavigateUpTo, supportRequestWindowFeature, supportShouldUpRecreateTask
      • Methods inherited from class androidx.fragment.app.FragmentActivity

        dump, getSupportFragmentManager, getSupportLoaderManager, onActivityResult, onAttachFragment, onCreatePanelMenu, onCreateView, onCreateView, onLowMemory, onMultiWindowModeChanged, onNewIntent, onPictureInPictureModeChanged, onPrepareOptionsPanel, onPreparePanel, onResumeFragments, onStateNotSaved, setEnterSharedElementCallback, setExitSharedElementCallback, startActivityFromFragment, startActivityFromFragment, startIntentSenderFromFragment, supportFinishAfterTransition, supportPostponeEnterTransition, supportStartPostponedEnterTransition, validateRequestPermissionsRequestCode
      • Methods inherited from class androidx.activity.ComponentActivity

        addMenuProvider, addMenuProvider, addMenuProvider, addOnConfigurationChangedListener, addOnContextAvailableListener, addOnMultiWindowModeChangedListener, addOnNewIntentListener, addOnPictureInPictureModeChangedListener, addOnTrimMemoryListener, getActivityResultRegistry, getDefaultViewModelCreationExtras, getDefaultViewModelProviderFactory, getLastCustomNonConfigurationInstance, getLifecycle, getOnBackPressedDispatcher, getSavedStateRegistry, getViewModelStore, invalidateMenu, onBackPressed, onMultiWindowModeChanged, onPictureInPictureModeChanged, onRetainCustomNonConfigurationInstance, onRetainNonConfigurationInstance, onSaveInstanceState, onTrimMemory, peekAvailableContext, registerForActivityResult, registerForActivityResult, removeMenuProvider, removeOnConfigurationChangedListener, removeOnContextAvailableListener, removeOnMultiWindowModeChangedListener, removeOnNewIntentListener, removeOnPictureInPictureModeChangedListener, removeOnTrimMemoryListener, reportFullyDrawn, startActivityForResult, startActivityForResult, startIntentSenderForResult, startIntentSenderForResult
      • Methods inherited from class androidx.core.app.ComponentActivity

        dispatchKeyShortcutEvent, getExtraData, putExtraData, shouldDumpInternalState, superDispatchKeyEvent
      • Methods inherited from class android.app.Activity

        addDumpable, canStartActivityForResult, closeContextMenu, contentCaptureClientGetComponentName, convertFromTranslucent, convertToTranslucent, createPendingResult, dismissDialog, dismissKeyboardShortcutsHelper, dispatchEnterAnimationComplete, dispatchGenericMotionEvent, dispatchPopulateAccessibilityEvent, dispatchTouchEvent, dispatchTrackballEvent, dumpInternal, enterPictureInPictureMode, enterPictureInPictureMode, finish, finishActivity, finishActivityFromChild, finishAffinity, finishAfterTransition, finishAndRemoveTask, finishFromChild, getActionBar, getActivityInfo, getActivityThread, getActivityToken, getApplication, getAssistToken, getAutofillClient, getCallingActivity, getCallingPackage, getChangingConfigurations, getComponentName, getContentCaptureClient, getContentScene, getContentTransitionManager, getCurrentFocus, getFragmentManager, getIntent, getLastNonConfigurationInstance, getLaunchedFromPackage, getLaunchedFromUid, getLayoutInflater, getLoaderManager, getLocalClassName, getMaxNumPictureInPictureActions, getMediaController, getNextAutofillId, getOnBackInvokedDispatcher, getParent, getParentActivityIntent, getPreferences, getReferrer, getRequestedOrientation, getSearchEvent, getShareableActivityToken, getSplashScreen, getSystemService, getTaskId, getTitle, getTitleColor, getVoiceInteractor, getVolumeControlStream, getWindow, getWindowManager, hasWindowFocus, isActivityTransitionRunning, isBackgroundVisibleBehind, isChangingConfigurations, isChild, isDestroyed, isFinishing, isImmersive, isInMultiWindowMode, isInPictureInPictureMode, isLaunchedFromBubble, isLocalVoiceInteractionSupported, isOverlayWithDecorCaptionEnabled, isResumed, isTaskRoot, isVisibleForAutofill, isVoiceInteraction, isVoiceInteractionRoot, managedQuery, managedQuery, moveTaskToBack, navigateUpTo, navigateUpToFromChild, onActionModeFinished, onActionModeStarted, onActivityReenter, onApplyThemeResource, onAttachedToWindow, onAttachFragment, onBackgroundVisibleBehindChanged, onChildTitleChanged, onContextItemSelected, onContextMenuClosed, onCreate, onCreateContextMenu, onCreateDescription, onCreateDialog, onCreateDialog, onCreateNavigateUpTaskStack, onCreateOptionsMenu, onCreatePanelView, onCreateThumbnail, onDetachedFromWindow, onEnterAnimationComplete, onGenericMotionEvent, onGetDirectActions, onKeyLongPress, onKeyMultiple, onKeyShortcut, onKeyUp, onLocalVoiceInteractionStarted, onLocalVoiceInteractionStopped, onMovedToDisplay, onNavigateUp, onNavigateUpFromChild, onNewActivityOptions, onOptionsItemSelected, onOptionsMenuClosed, onPerformDirectAction, onPictureInPictureRequested, onPictureInPictureUiStateChanged, onPostCreate, onPrepareDialog, onPrepareDialog, onPrepareNavigateUpTaskStack, onPrepareOptionsMenu, onProvideAssistContent, onProvideAssistData, onProvideKeyboardShortcuts, onProvideReferrer, onRestart, onRestoreInstanceState, onRestoreInstanceState, onSaveInstanceState, onSearchRequested, onSearchRequested, onTopResumedActivityChanged, onTouchEvent, onTrackballEvent, onUserInteraction, onUserLeaveHint, onVisibleBehindCanceled, onWindowAttributesChanged, onWindowDismissed, onWindowFocusChanged, onWindowStartingActionMode, onWindowStartingActionMode, openContextMenu, overridePendingTransition, overridePendingTransition, postponeEnterTransition, recreate, registerActivityLifecycleCallbacks, registerComponentCallbacks, registerForContextMenu, registerRemoteAnimations, releaseInstance, removeDialog, requestDragAndDropPermissions, requestPermissions, requestShowKeyboardShortcuts, requestVisibleBehind, requestWindowFeature, requireViewById, runOnUiThread, setActionBar, setContentTransitionManager, setDefaultKeyMode, setDisablePreviewScreenshots, setEnterSharedElementCallback, setExitSharedElementCallback, setFeatureDrawable, setFeatureDrawableAlpha, setFeatureDrawableResource, setFeatureDrawableUri, setFinishOnTouchOutside, setImmersive, setInheritShowWhenLocked, setIntent, setLocusContext, setMediaController, setOverlayWithDecorCaptionEnabled, setPersistent, setPictureInPictureParams, setProgress, setProgressBarIndeterminate, setProgressBarIndeterminateVisibility, setProgressBarVisibility, setRecentsScreenshotEnabled, setRequestedOrientation, setResult, setResult, setSecondaryProgress, setShouldDockBigOverlays, setShowWhenLocked, setTaskDescription, setTitle, setTitle, setTitleColor, setTranslucent, setTurnScreenOn, setVisible, setVolumeControlStream, setVrModeEnabled, shouldDockBigOverlays, shouldShowRequestPermissionRationale, shouldUpRecreateTask, showAssist, showDialog, showDialog, showLockTaskEscapeMessage, startActionMode, startActionMode, startActivities, startActivities, startActivity, startActivity, startActivityAsCaller, startActivityAsCaller, startActivityAsUser, startActivityAsUser, startActivityForResult, startActivityForResultAsUser, startActivityForResultAsUser, startActivityForResultAsUser, startActivityFromChild, startActivityFromChild, startActivityFromFragment, startActivityFromFragment, startActivityIfNeeded, startActivityIfNeeded, startIntentSender, startIntentSender, startIntentSenderForResult, startIntentSenderForResultInner, startIntentSenderFromChild, startIntentSenderFromChild, startLocalVoiceInteraction, startLockTask, startManagingCursor, startNextMatchingActivity, startNextMatchingActivity, startPostponedEnterTransition, startSearch, stopLocalVoiceInteraction, stopLockTask, stopManagingCursor, takeKeyEvents, triggerSearch, unregisterActivityLifecycleCallbacks, unregisterComponentCallbacks, unregisterForContextMenu, unregisterRemoteAnimations, updateUiTranslationState
      • Methods inherited from class android.view.ContextThemeWrapper

        applyOverrideConfiguration, getAssets, getOverrideConfiguration, getTheme, getThemeResId, setTheme
      • Methods inherited from class android.content.ContextWrapper

        bindIsolatedService, bindService, bindService, bindServiceAsUser, bindServiceAsUser, canLoadUnsafeResources, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingOrSelfUriPermissions, checkCallingPermission, checkCallingUriPermission, checkCallingUriPermissions, checkPermission, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, checkUriPermission, checkUriPermissions, clearWallpaper, createApplicationContext, createAttributionContext, createConfigurationContext, createContext, createContextAsUser, createContextForSplit, createCredentialProtectedStorageContext, createDeviceProtectedStorageContext, createDisplayContext, createPackageContext, createPackageContextAsUser, createTokenContext, createWindowContext, createWindowContext, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAttributionSource, getAttributionTag, getAutofillOptions, getBaseContext, getBasePackageName, getCacheDir, getClassLoader, getCodeCacheDir, getContentCaptureOptions, getContentResolver, getCrateDir, getDatabasePath, getDataDir, getDir, getDisplay, getDisplayAdjustments, getDisplayId, getDisplayNoVerify, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFilesDir, getFileStreamPath, getIApplicationThread, getMainExecutor, getMainLooper, getMainThreadHandler, getNoBackupFilesDir, getObbDir, getObbDirs, getOpPackageName, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getParams, getPreloadsFileCache, getServiceDispatcher, getSharedPreferences, getSharedPreferences, getSharedPreferencesPath, getSystemServiceName, getUser, getUserId, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, getWindowContextToken, grantUriPermission, isConfigurationContext, isCredentialProtectedStorage, isDeviceProtectedStorage, isRestricted, isUiContext, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerReceiver, registerReceiver, registerReceiver, registerReceiver, registerReceiverAsUser, registerReceiverAsUser, registerReceiverForAllUsers, registerReceiverForAllUsers, reloadSharedPreferences, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeSelfPermissionsOnKill, revokeUriPermission, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendBroadcastAsUser, sendBroadcastAsUser, sendBroadcastAsUserMultiplePermissions, sendBroadcastMultiplePermissions, sendBroadcastMultiplePermissions, sendBroadcastMultiplePermissions, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendOrderedBroadcastAsUser, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setAutofillClient, setAutofillOptions, setContentCaptureOptions, setWallpaper, setWallpaper, startActivitiesAsUser, startForegroundService, startForegroundServiceAsUser, startInstrumentation, startService, startServiceAsUser, stopService, stopServiceAsUser, unbindService, unregisterReceiver, updateDisplay, updateServiceGroup
      • Methods inherited from class android.content.Context

        assertRuntimeOverlayThemable, createFeatureContext, destroy, getAssociatedDisplayId, getColor, getColorStateList, getDrawable, getFeatureId, getSharedPrefsFile, getString, getString, getSystemService, getText, getToken, isAutofillCompatibilityEnabled, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, revokeSelfPermissionOnKill, sendBroadcastMultiplePermissions, sendBroadcastMultiplePermissions, sendBroadcastWithMultiplePermissions
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
      • Methods inherited from interface android.view.Window.Callback

        onPointerCaptureChanged
    • Field Detail

      • EXTRA_SESSION_ID

        public static final java.lang.String EXTRA_SESSION_ID
        The constant EXTRA_SESSION_ID.
        See Also:
        Constant Field Values
      • REQUEST_CODE_CAMERA_PERMISSION

        protected static final int REQUEST_CODE_CAMERA_PERMISSION
        The constant REQUEST_CODE_CAMERA_PERMISSION.
        See Also:
        Constant Field Values
    • Constructor Detail

      • SessionActivity

        public SessionActivity()
    • Method Detail

      • onCreate

        protected void onCreate​(@Nullable
                                android.os.Bundle savedInstanceState)
        Description copied from class: androidx.fragment.app.FragmentActivity
        Called when the activity is starting. This is where most initialization should go: calling Activity.setContentView(int) to inflate the activity's UI, using Activity.findViewById(int) to programmatically interact with widgets in the UI, calling Activity.managedQuery(android.net.Uri , String[], String, String[], String) to retrieve cursors for data being displayed, etc.

        You can call Activity.finish(int) from within this function, in which case onDestroy() will be immediately called after Activity.onCreate(android.os.Bundle) without any of the rest of the activity lifecycle (Activity.onStart(), Activity.onResume(), Activity.onPause(), etc) executing.

        Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.

        If your ComponentActivity is annotated with ContentView, this will call ComponentActivity.setContentView(int) for you. Perform initialization of all fragments.
        Overrides:
        onCreate in class androidx.fragment.app.FragmentActivity
        Parameters:
        savedInstanceState - If the activity is being re-initialized after previously being shut down then this Bundle contains the data it most recently supplied in Activity.onSaveInstanceState(android.os.Bundle). Note: Otherwise it is null.
        See Also:
        Activity.onStart(), Activity.onSaveInstanceState(android.os.Bundle), Activity.onRestoreInstanceState(android.os.Bundle), Activity.onPostCreate(android.os.Bundle)
      • onDestroy

        protected void onDestroy()
        Description copied from class: androidx.fragment.app.FragmentActivity
        Perform any final cleanup before an activity is destroyed. This can happen either because the activity is finishing (someone called Activity.finish(int) on it), or because the system is temporarily destroying this instance of the activity to save space. You can distinguish between these two scenarios with the Activity.isFinishing() method.

        Note: do not count on this method being called as a place for saving data! For example, if an activity is editing data in a content provider, those edits should be committed in either Activity.onPause() or Activity.onSaveInstanceState(android.os.Bundle), not here. This method is usually implemented to free resources like threads that are associated with an activity, so that a destroyed activity does not leave such things around while the rest of its application is still running. There are situations where the system will simply kill the activity's hosting process without calling this method (or any others) in it, so it should not be used to do things that are intended to remain around after the process goes away.

        Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.

        Destroy all fragments.
        Overrides:
        onDestroy in class androidx.appcompat.app.AppCompatActivity
        See Also:
        Activity.onPause(), Activity.onStop(), Activity.finish(int), Activity.isFinishing()
      • onResume

        protected void onResume()
        Description copied from class: androidx.fragment.app.FragmentActivity
        Called after Activity.onRestoreInstanceState(android.os.Bundle), Activity.onRestart(), or Activity.onPause(). This is usually a hint for your activity to start interacting with the user, which is a good indicator that the activity became active and ready to receive input. This sometimes could also be a transit state toward another resting state. For instance, an activity may be relaunched to Activity.onPause() due to configuration changes and the activity was visible, but wasn’t the top-most activity of an activity task. Activity.onResume() is guaranteed to be called before Activity.onPause() in this case which honors the activity lifecycle policy and the activity eventually rests in Activity.onPause().

        On platform versions prior to Build.VERSION_CODES.Q this is also a good place to try to open exclusive-access devices or to get access to singleton resources. Starting with Build.VERSION_CODES.Q there can be multiple resumed activities in the system simultaneously, so Activity.onTopResumedActivityChanged(boolean) should be used for that purpose instead.

        Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.

        Dispatch onResume() to fragments. Note that for better inter-operation with older versions of the platform, at the point of this call the fragments attached to the activity are not resumed.
        Overrides:
        onResume in class androidx.fragment.app.FragmentActivity
        See Also:
        Activity.onRestoreInstanceState(android.os.Bundle), Activity.onRestart(), Activity.onPostResume(), Activity.onPause(), Activity.onTopResumedActivityChanged(boolean)
      • onPause

        protected void onPause()
        Description copied from class: androidx.fragment.app.FragmentActivity
        Called as part of the activity lifecycle when the user no longer actively interacts with the activity, but it is still visible on screen. The counterpart to Activity.onResume().

        When activity B is launched in front of activity A, this callback will be invoked on A. B will not be created until A's Activity.onPause() returns, so be sure to not do anything lengthy here.

        This callback is mostly used for saving any persistent state the activity is editing, to present a "edit in place" model to the user and making sure nothing is lost if there are not enough resources to start the new activity without first killing this one. This is also a good place to stop things that consume a noticeable amount of CPU in order to make the switch to the next activity as fast as possible.

        On platform versions prior to Build.VERSION_CODES.Q this is also a good place to try to close exclusive-access devices or to release access to singleton resources. Starting with Build.VERSION_CODES.Q there can be multiple resumed activities in the system at the same time, so Activity.onTopResumedActivityChanged(boolean) should be used for that purpose instead.

        If an activity is launched on top, after receiving this call you will usually receive a following call to Activity.onStop() (after the next activity has been resumed and displayed above). However in some cases there will be a direct call back to Activity.onResume() without going through the stopped state. An activity can also rest in paused state in some cases when in multi-window mode, still visible to user.

        Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.

        Dispatch onPause() to fragments.
        Overrides:
        onPause in class androidx.fragment.app.FragmentActivity
        See Also:
        Activity.onResume(), Activity.onSaveInstanceState(android.os.Bundle), Activity.onStop()
      • startSession

        protected void startSession()
        Start Ver-ID session
        Since:
        2.0.0
      • cancelSession

        protected void cancelSession()
        Cancel Ver-ID session
        Since:
        2.0.0
      • getSession

        protected java.util.Optional<Session<?>> getSession()
        Get Ver-ID session
        Returns:
        Ver-ID session running in this activity
        Since:
        2.0.0
      • fail

        protected void fail​(VerIDSessionException error)
        Fail the session
        Parameters:
        error - Session exception to return in the session result
        Since:
        2.0.0
      • getSessionView

        @NonNull
        protected java.util.Optional<T> getSessionView()
      • getCameraWrapper

        protected final java.util.Optional<CameraWrapper> getCameraWrapper()
      • getViewSize

        protected Size getViewSize()
      • getDisplayRotation

        protected int getDisplayRotation()
      • getFaceImageHeight

        protected int getFaceImageHeight()
      • drawFaces

        protected void drawFaces​(java.util.List<? extends android.graphics.drawable.Drawable> faceImages)
      • onFaceDetection

        protected void onFaceDetection​(@NonNull
                                       FaceDetectionResult faceDetectionResult)
      • onFaceCapture

        protected void onFaceCapture​(@NonNull
                                     FaceCapture faceCapture)
      • onSessionResult

        protected void onSessionResult​(@NonNull
                                       VerIDSessionResult result)
      • getSessionParameters

        public java.util.Optional<SessionParameters> getSessionParameters()
      • getSessionVideoRecorder

        protected java.util.Optional<ISessionVideoRecorder> getSessionVideoRecorder()
      • executeInBackground

        protected final void executeInBackground​(java.lang.Runnable runnable)
        Execute in background.
        Parameters:
        runnable - the runnable
      • getDefaultFaceExtents

        protected final FaceExtents getDefaultFaceExtents()
        Gets default face extents.
        Returns:
        the default face extents
      • onRequestPermissionsResult

        public final void onRequestPermissionsResult​(int requestCode,
                                                     @NonNull
                                                     java.lang.String[] permissions,
                                                     @NonNull
                                                     int[] grantResults)
        Description copied from class: androidx.activity.ComponentActivity
        Callback for the result from requesting permissions. This method is invoked for every call on Activity.requestPermissions(String[], int).

        Note: It is possible that the permissions request interaction with the user is interrupted. In this case you will receive empty permissions and results arrays which should be treated as a cancellation.

        Specified by:
        onRequestPermissionsResult in interface androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback
        Overrides:
        onRequestPermissionsResult in class androidx.fragment.app.FragmentActivity
        Parameters:
        requestCode - The request code passed in Activity.requestPermissions(String[], int).
        permissions - The requested permissions. Never null.
        grantResults - The grant results for the corresponding permissions which is either PackageManager.PERMISSION_GRANTED or PackageManager.PERMISSION_DENIED. Never null.
        See Also:
        Activity.requestPermissions(String[], int)
      • hasCameraPermission

        protected final boolean hasCameraPermission()
        Has camera permission boolean.
        Returns:
        the boolean
      • iterator

        @NonNull
        public java.util.Iterator<FaceBounds> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<T extends android.view.View & ISessionView>
      • onCameraPreviewSize

        public void onCameraPreviewSize​(int width,
                                        int height,
                                        int sensorOrientation)
        Description copied from interface: CameraWrapper.Listener
        Called when the camera determines its preview size based on the dimensions of the containing view
        Specified by:
        onCameraPreviewSize in interface CameraWrapper.Listener
        Parameters:
        width - Preview width
        height - Preview height
        sensorOrientation - Camera sensor orientation on the device