Package 

Class AnalysisActivity

  • All Implemented Interfaces:
    android.content.ComponentCallbacks , android.content.ComponentCallbacks2 , android.view.KeyEvent.Callback , android.view.LayoutInflater.Factory , android.view.LayoutInflater.Factory2 , android.view.View.OnCreateContextMenuListener , android.view.Window.Callback , androidx.activity.OnBackPressedDispatcherOwner , androidx.activity.contextaware.ContextAware , 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.TaskStackBuilder.SupportParentable , androidx.core.view.KeyEventDispatcher.Component , androidx.lifecycle.HasDefaultViewModelProviderFactory , androidx.lifecycle.LifecycleOwner , androidx.lifecycle.ViewModelStoreOwner , androidx.savedstate.SavedStateRegistryOwner , net.gini.android.capture.analysis.AnalysisFragmentInterface , net.gini.android.capture.analysis.AnalysisFragmentListener

    
    public class AnalysisActivity
    extends AppCompatActivity implements AnalysisFragmentListener, AnalysisFragmentInterface
                        
    Screen API

    When you use the Screen API, the AnalysisActivity displays the captured or imported document and an activity indicator while the document is being analyzed by the Gini API.

    Note: The title from the ActionBar was removed. Use the activity indicator message instead by overriding the string resource named gc_analysis_activity_indicator_message. The message is displayed for images only.

    For PDF documents the first page is shown (only on Android 5.0 Lollipop and newer) along with the PDF's filename and number of pages above the page. On Android KitKat and older only the PDF's filename is shown with the preview area left empty.

    The preferred way of adding network calls to the Gini Capture SDK is by creating a GiniCapture instance with a and a GiniCaptureNetworkApi implementation.

    The AnalysisActivity is started by the CameraActivity after the user has reviewed the document and either made no changes to the document and it hasn't been analyzed before tapping the Next button, or the user has modified the document, e.g. by rotating it.

    For imported documents that cannot be reviewed, like PDFs, the CameraActivity starts the AnalysisActivity directly.

    Customizing the Analysis Screen

    Customizing the look of the Analysis Screen is done via overriding of app resources.

    The following items are customizable:

    • Activity indicator color: via the color resource named gc_analysis_activity_indicator
    • Activity indicator message: via the string resource named gc_analysis_activity_indicator_message
    • Activity indicator message text style: via overriding the style named GiniCaptureTheme.Analysis.AnalysingMessage.TextStyle
    • Activity indicator message font: via overriding the style named GiniCaptureTheme.Analysis.AnalysingMessage.TextStyle and setting an item named gcCustomFont with the path to the font file in your assets folder
    • PDF info panel background: via the color resource named gc_analysis_pdf_info_background
    • PDF filename text style: via overriding the style named GiniCaptureTheme.Analysis.PdfFilename.TextStyle and setting an item named android:textStyle to normal, bold or italic
    • PDF filename text size: via overriding the style named GiniCaptureTheme.Analysis.PdfFilename.TextStyle and setting an item named autoSizeMaxTextSize and autoSizeMinTextSize to the desired maximum and minimum sp sizes
    • PDF filename text color: via the color resource named gc_analysis_pdf_info_text
    • PDF filename font: via overriding the style named GiniCaptureTheme.Analysis.PdfFilename.TextStyle and setting an item named gcCustomFont with the path to the font file in your assets folder
    • PDF page count text style: via overriding the style named GiniCaptureTheme.Analysis.PdfPageCount.TextStyle and setting an item named android:textStyle to normal, bold or italic
    • PDF page count text size: via overriding the style named GiniCaptureTheme.Analysis.PdfPageCount.TextStyle and setting an item named android:textSize to the desired sp size
    • PDF page count text color: via the color resource named gc_analysis_pdf_info_text
    • PDF page count font: via overriding the style named GiniCaptureTheme.Analysis.PdfPageCount.TextStyle and setting an item named gcCustomFont with the path to the font file in your assets folder
    • Background color: via the color resource named gc_background. Note: this color resource is global to all Activities (CameraActivity, OnboardingActivity, ReviewActivity, )
    • Error message text color: via the color resource named gc_snackbar_error_text
    • Error message font: via overriding the style named GiniCaptureTheme.Snackbar.Error.TextStyle and setting an item named gcCustomFont with the path to the font file in your assets folder
    • Error message text style: via overriding the style named GiniCaptureTheme.Snackbar.Error.TextStyle and setting an item named android:textStyle to normal, bold or italic
    • Error message text size: via overriding the style named GiniCaptureTheme.Snackbar.Error.TextStyle and setting an item named android:textSize to the desired sp size
    • Error message button text color: via the color resource named gc_snackbar_error_button_title and gc_snackbar_error_button_title_pressed
    • Error message button font: via overriding the style named GiniCaptureTheme.Snackbar.Error.Button.TextStyle and setting an item named gcCustomFont with the path to the font file in your assets folder
    • Error message button text style: via overriding the style named GiniCaptureTheme.Snackbar.Error.Button.TextStyle and setting an item named android:textStyle to normal, bold or italic
    • Error message button text size: via overriding the style named GiniCaptureTheme.Snackbar.Error.Button.TextStyle and setting an item named android:textSize to the desired sp size
    • Error message background color: via the color resource named gc_snackbar_error_background
    • Document analysis error message retry button text: via the string resource named gc_document_analysis_error_retry

    Important: All overriden styles must have their respective Root. prefixed style as their parent. Ex.: the parent of GiniCaptureTheme.Snackbar.Error.TextStyle must be Root.GiniCaptureTheme.Snackbar.Error.TextStyle.

    Customizing the Action Bar

    Customizing the Action Bar is also done via overriding of app resources and each one - except the title string resource - is global to all Activities (CameraActivity, OnboardingActivity, ReviewActivity, net.gini.android.capture.review.multipage.MultiPageReviewActivity, AnalysisActivity).

    The following items are customizable:

    • Background color: via the color resource named gc_action_bar (highly recommended for Android 5+: customize the status bar color via gc_status_bar)
    • Back button (only for ReviewActivity and AnalysisActivity): via images for mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi named gc_action_bar_back
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      void hideError() Call this method to hide the error shown before with showError or showError.
      void onError(@NonNull() GiniCaptureError error) Called when an error occurred.
      boolean onOptionsItemSelected(MenuItem item)
      void onBackPressed()
      void showError(@NonNull() String message, @NonNull() String buttonTitle, @NonNull() View.OnClickListener onClickListener) Call this method when you need to show an error message with an invokable action to the user in the Analysis Screen.
      void showError(@NonNull() String message, int duration) Call this method when you need to show an error message to the user in the Analysis Screen.
      void setListener(@NonNull() AnalysisFragmentListener listener) Set a listener for analysis events.
      void onExtractionsAvailable(@NonNull() Map<String, GiniCaptureSpecificExtraction> extractions, @NonNull() Map<String, GiniCaptureCompoundExtraction> compoundExtractions, @NonNull() List<GiniCaptureReturnReason> returnReasons) Called when the document has been analyzed and extractions are available.
      void onProceedToNoExtractionsScreen(@NonNull() Document document) Called when the document has been analyzed and no extractions were received.
      void onDefaultPDFAppAlertDialogCancelled() Called when the default PDF app alert dialog was cancelled.
      • Methods inherited from class androidx.appcompat.app.AppCompatActivity

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

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

        addOnContextAvailableListener, getActivityResultRegistry, getDefaultViewModelProviderFactory, getLastCustomNonConfigurationInstance, getLifecycle, getOnBackPressedDispatcher, getSavedStateRegistry, getViewModelStore, onRetainCustomNonConfigurationInstance, onRetainNonConfigurationInstance, peekAvailableContext, registerForActivityResult, removeOnContextAvailableListener, reportFullyDrawn, startActivityForResult, startIntentSenderForResult
      • Methods inherited from class androidx.core.app.ComponentActivity

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

        closeContextMenu, createPendingResult, dismissDialog, dismissKeyboardShortcutsHelper, dispatchGenericMotionEvent, dispatchPopulateAccessibilityEvent, dispatchTouchEvent, dispatchTrackballEvent, enterPictureInPictureMode, enterPictureInPictureMode, finish, finishActivity, finishActivityFromChild, finishAffinity, finishAfterTransition, finishAndRemoveTask, finishFromChild, getActionBar, getApplication, getCallingActivity, getCallingPackage, getChangingConfigurations, getComponentName, getContentScene, getContentTransitionManager, getCurrentFocus, getFragmentManager, getIntent, getLastNonConfigurationInstance, getLayoutInflater, getLoaderManager, getLocalClassName, getMaxNumPictureInPictureActions, getMediaController, getParent, getParentActivityIntent, getPreferences, getReferrer, getRequestedOrientation, getSearchEvent, getSplashScreen, getSystemService, getTaskId, getTitle, getTitleColor, getVoiceInteractor, getVolumeControlStream, getWindow, getWindowManager, hasWindowFocus, isActivityTransitionRunning, isChangingConfigurations, isChild, isDestroyed, isFinishing, isImmersive, isInMultiWindowMode, isInPictureInPictureMode, isLaunchedFromBubble, isLocalVoiceInteractionSupported, isTaskRoot, isVoiceInteraction, isVoiceInteractionRoot, managedQuery, moveTaskToBack, navigateUpTo, navigateUpToFromChild, onActionModeFinished, onActionModeStarted, onActivityReenter, onAttachedToWindow, onContextItemSelected, onContextMenuClosed, onCreateContextMenu, onCreateDescription, onCreateNavigateUpTaskStack, onCreateOptionsMenu, onCreatePanelView, onCreateThumbnail, onDetachedFromWindow, onEnterAnimationComplete, onGenericMotionEvent, onGetDirectActions, onKeyLongPress, onKeyMultiple, onKeyShortcut, onKeyUp, onLocalVoiceInteractionStarted, onLocalVoiceInteractionStopped, onNavigateUp, onNavigateUpFromChild, onOptionsMenuClosed, onPerformDirectAction, onPictureInPictureRequested, onPictureInPictureUiStateChanged, onPrepareNavigateUpTaskStack, onPrepareOptionsMenu, onProvideAssistContent, onProvideAssistData, onProvideKeyboardShortcuts, onProvideReferrer, onSearchRequested, onTopResumedActivityChanged, onTouchEvent, onTrackballEvent, onTrimMemory, onUserInteraction, onVisibleBehindCanceled, onWindowAttributesChanged, onWindowFocusChanged, onWindowStartingActionMode, openContextMenu, overridePendingTransition, postponeEnterTransition, recreate, registerActivityLifecycleCallbacks, registerForContextMenu, releaseInstance, removeDialog, requestDragAndDropPermissions, requestPermissions, requestShowKeyboardShortcuts, requestVisibleBehind, requestWindowFeature, requireViewById, runOnUiThread, setActionBar, setContentTransitionManager, setDefaultKeyMode, setFeatureDrawable, setFeatureDrawableAlpha, setFeatureDrawableResource, setFeatureDrawableUri, setFinishOnTouchOutside, setImmersive, setInheritShowWhenLocked, setIntent, setLocusContext, setMediaController, setPictureInPictureParams, setProgress, setProgressBarIndeterminate, setProgressBarIndeterminateVisibility, setProgressBarVisibility, setRequestedOrientation, setResult, setSecondaryProgress, setShowWhenLocked, setTaskDescription, setTitle, setTitleColor, setTranslucent, setTurnScreenOn, setVisible, setVolumeControlStream, setVrModeEnabled, shouldShowRequestPermissionRationale, shouldUpRecreateTask, showAssist, showDialog, showDialog, showLockTaskEscapeMessage, startActionMode, startActivities, startActivity, startActivityFromChild, startActivityIfNeeded, startIntentSender, startIntentSenderFromChild, startLocalVoiceInteraction, startLockTask, startManagingCursor, startNextMatchingActivity, startPostponedEnterTransition, startSearch, stopLocalVoiceInteraction, stopLockTask, stopManagingCursor, takeKeyEvents, triggerSearch, unregisterActivityLifecycleCallbacks, unregisterForContextMenu
      • Methods inherited from class android.view.ContextThemeWrapper

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

        bindIsolatedService, bindService, bindServiceAsUser, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingOrSelfUriPermissions, checkCallingPermission, checkCallingUriPermission, checkCallingUriPermissions, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermissions, clearWallpaper, createAttributionContext, createConfigurationContext, createContext, createContextForSplit, createDeviceProtectedStorageContext, createDisplayContext, createPackageContext, createWindowContext, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAttributionSource, getAttributionTag, getBaseContext, getCacheDir, getClassLoader, getCodeCacheDir, getContentResolver, getDataDir, getDatabasePath, getDir, getDisplay, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFileStreamPath, getFilesDir, getMainExecutor, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getOpPackageName, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getParams, getSharedPreferences, getSystemServiceName, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isDeviceProtectedStorage, isRestricted, isUiContext, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, peekWallpaper, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeUriPermission, sendBroadcast, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setWallpaper, startForegroundService, startInstrumentation, startService, stopService, unbindService, unregisterReceiver, updateServiceGroup
      • Methods inherited from class android.content.Context

        getColor, getColorStateList, getDrawable, getString, getSystemService, getText, obtainStyledAttributes, registerComponentCallbacks, sendBroadcastWithMultiplePermissions, unregisterComponentCallbacks
      • Methods inherited from class android.view.Window.Callback

        onPointerCaptureChanged
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait