Mobile SDK: Atalasoft MobileImage Release Notes 3.3.0

April 30, 2018 Atalasoft General

Please read these notes carefully because they contain information that is not included in the SDK documentation.

Version Information

The SDK version can be found by looking in the versions.txt file included in the delivered product.

What's new

Improved Image Cropping
Algorithms for image auto-cropping have been improved for the following scenarios:

  • document captured with a complex background
  • document captured with glare in the background
  • document captured with one corner obscured
  • document captured with two edges obscured

Fixed Aspect Ratio Capture Experience
The FixedAspectRatioCaptureExperience offers a guided experience for capturing any document with a known aspect ratio. This also includes the ability to take a picture of any document by holding it in hand until document edges are strong enough for detection.

PhoneGap capture experience
Updated capture experience setOptions Object to make consistent across all capture experiences. This is applicable for Check, Document and Passport capture experiences.

PhoneGap API
Added bindCaptureControlWithOptions API for all capture experience classes. This is applicable for Check, Document and Passport capture experiences.

PhoneGap Cordova support
Added Cordova 7.X support.

Depreciated features

Note: Kofax Kony FFI support has been removed in SDK 3.3 Release.

Deprecated API features

Class BasicSettingsProfile

Please use ImageProcessorConfiguration instead

Class ImagePerfectionProfile

Please use ImageProcessorConfiguration instead

Member ImageProcessor.processImage (Image image)

Replaced by processImage(Image, ImageProcessorConfiguration)

Member ImageProcessor.setBasicSettingsProfile (BasicSettingsProfile basicSettingsProfile)

Please use ImageProcessorConfiguration as an argument for calling processImage(Image, ImageProcessorConfiguration)

Member ImageProcessor.setImagePerfectionProfile (ImagePerfectionProfile imagePerfectionProfile)

Please use ImageProcessorConfiguration as an argument for calling processImage(Image, ImageProcessorConfiguration)

Enum value
DocumentDetectionSettings. DocumentEdgeDetection.ISG

Deprecated legacy algorithm

Deprecated PhoneGap features

Removed deprecated Front Office and Total Agility servers. Recommended to use the Capture Server class instead.

Removed deprecated takePicture, continuousCapture, FrameOptions and LevelingOptions from ImageCaptureView classes. Set these options using the Capture Experience classes.

Deprecated HTML5 features

  • Deprecated KTA authentication, extraction and facial recognition APIs from DocumentExtractor class. All these are now combined into the executeRequestOnKtaServer API.
  • Removed WebCapture support for SurfacePro4 tablet due to poor extraction results.
  • Deprecated extractionWithRttiServer API from DocumentExtractor class.
  • Removed deprecated supportsAdvancedCapture API from Utilites class. Instead of this use supportsAutoCapture API.

Resolved Issues

This section contains information about issues that have been resolved as of this version of the product.

Documentation was unclear about credit card extraction support

The SDK Admin guide was unclear regarding support for credit card extraction. The Mobile SDK only supports on-device credit card extraction for embossed cards using Card.io. Extraction for non-embossed cards is not supported on device. (962670)

Affected platforms and/or known devices:

  • Mobile SDK

Extraction failed when both sides were sent to KTA

The On-Boarding application did not scale images and this sometimes lead to incomplete data being sent to the server for extraction, resulting in an error. This was more likely to happen with very high resolution images (895492)

Affected platforms and/or known devices:

  • HTML5 onboarding

Loader ran continuously after selecting an image

After selecting an image from the gallery, the loader continuously ran on the screen. (718000)

Affected platforms and/or known devices:

  • Android 4.3 or below
  • Samsung S3
  • Sony Xperia Tab Z

Improper crop on US DL back images

HTML5 processing of the back of IDs is supported, however, on occasion, cropping would not be exact. This did not affect barcode extraction. (698185)

Affected platforms and/or known devices:

  • HTML5

Captured image was overexposed on Asus Zenfone

When autotorch was on, and an image was captured under low light conditions, the resulting image may have been unevenly over exposed to the extent that half the image is completely white. (691353)

Affected platforms and/or known devices:

  • Android 6
  • Asus Zenfone x86

In some cases, EVRS couldn't read TIFF files

EVRS couldn't read TIFF files if the ImageLength tag did not immediately follow the ImageWidth tag.

Certain devices may create TIFF files with the ImageWidth and ImageLength tags in the correct order but some other tag (for example, the BitsPerSample tag) inserted between them. In such cases EVRS returned an error.

Affected platforms and/or known devices:

  • EVRS

Camera could no be configured for any HD resolution

We had seen cases where Nexus 6 devices, with Android OS version 6.0 and Chrome browser version 48.0.02564.95, were unable to render the HTML5 camera, and "Camera cannot be configured for any HD resolution" was displayed as an alert. (690304)

Affected platforms and/or known devices:

  • Android
  • Nexus 6

Some images underexposed

Some images may have been underexposed when using certain devices. (665002)

Affected platforms and/or known devices:

  • Android 6
  • PhoneGap and Kofax Mobile Demo application
  • Nexus 5

HTML5: Captured image not displayed

When using HTML 5, The captured image was not retrieved, and consequently not displayed, when the native camera option was used. Despite this, the take picture success callback was called. (645168)

Affected platforms and/or known devices:

  • HTML 5
  • iOS8.0, iOS8.3
  • Safari

Document capture experience crashed with languages other than English

There may have been a crash in the Document Capture Experience when the device was set to languages other than English. This was only seen with the DocumentCaptureExperience and with those Packaged Capture Experience work flows that used it. (641967)

Affected platforms and/or known devices:

  • Android
  • Document Capture Experience

Moto X did not support auto torch

On the Moto X, the LED was always on when the flash mode was set to Auto Torch. Auto Torch worked correctly on other supported Android devices. (636440)

Affected platforms and/or known devices:

  • Android
  • Moto X

Out of memory when using bar code reader

There was a random out of memory error that caused the device to crash when using the bar code reader to search for Datamatrix bar codes when there were none. If the bar code reader found a Datamatrix code, this error did not occur. This had not been seen in devices other than the Galaxy S4 with Android version 4.3. Newer versions of Android on this device had not been tested. (612749)

Affected platforms and/or known devices:

  • Android 4.3
  • Samsung Galaxy S4

Message not clipped correctly in portrait mode

In some devices, the instruction message was not the clipped correctly when the device screen was in portrait mode. This did not happen when the phone was rotated so that the screen was in portrait mode. (611787)

Affected platforms and/or known devices:

  • Moto G

EAN bar code returns wrong value

When reading EAN bar codes from right to left, the wrong value was returned. (611783)

Affected platforms and/or known devices:

  • Android

Getting 1 result when expecting 3 bar code results

When using bar code automation, when 3 results were expected, only one result was returned. (611781)

Affected platforms and/or known devices:

  • Android

Angle guidance always OK for backs of checks

Regardless of the maxSkewAngle setting, even when very low (for example zero or some other very small number), the turn guidance always said OK. When set to such low levels, some guidance other than OK was expected. (607371 )

Affected platforms and/or devices:

  • Android
  • iOS

Unable to capture image in video mode

Unable to take a picture in video mode if either the doContinuousMode or takePicture method was used. This was a device specific problem. (593874)

Affected platforms and/or devices:

  • Moto G

BarcodeReader direction map incorrect

The kfxKBRBarcodeReader searchDirection property did not work. This property specified that multiple directions could be combined. However, top_down and right_left were reversed. (593056)

Affected platforms and/or devices:

  • Android

BarcodeReader direction map incorrect

The kfxKBRBarcodeReader searchDirection property did not work. This property specifies that multiple directions can be combined. However, top_down and right_left were reversed and, for iOS only, combining two or three bar codes together resulted in a read error. (592986)

Affected platforms and/or devices:

  • iOS

setTargetFramePaddingPercent after instantiation didn't update the UI

If a CheckCaptureExperience eas created (captureExperience = new CheckCaptureExperience(baseCapView, capCriteria), and then the padding percent was changed (capCriteria.getCheckDetectionSettings().setTargetFramePaddingPercent(25);), the settings were applied to the actual CheckDetector. However, the UI was not updated. The frame still appeared to have the original padding. As a result, the check detection algorithm became out of sync with the UI. (590819)

This only happened when updating/setting your CheckDetectionSettings after you instantiated your CheckCaptureExperience. If the padding percent was changed before the CheckCaptureExperience was instantiated, the UI was updated.

This happened when using CheckCaptureExperienceCriteriaHolder.

Affected platforms and/or devices:

  • Android
  • CheckCaptureExperience

Overlapping messages in AnimatedDocumentCaptureExperience

In the Android AnimatedDocumentCaptureExperience two message objects may been displayed at the same time. For example, the UserInstructionMessage and the HoldSteadyMessage, or the UserInstructionMessage and the PageOrientationMessage. (583320)

Only one message object at a time should have been displayed. If an additional guidance message popped up, the preceding one should have disappeared.

Affected platforms and/or devices:

  • Android

Different bar code results for same image saved as .jpg or .png

SBarcodeReader should have yielded the same results from an image, regardless of the file type used to save the image. However, .png and .jpg versions of the identical image may have yielded different results. (571421)

Affected platforms and/or devices:

  • iOS

Returned BarcodeResult bounding box was null for 2D bar codes

After capturing a bar code (PDF 417 or QR) on devices with Android 5.x, the BarcodeResult bounding box that was returned was null. This had been observed when running Android 5.x on Nexus 5, 6, 9. Note that there may have been other affected devices, when Android 5.x was used. (568670)

Affected platforms and/or devices:

  • Android 5.x

NullPointerException after trying to write an image of the same mimetype twice

In PhoneGap, when processing the same image as the same mimetype twice, the following error was generated: Error! failed to set image - NullPointerException - Image is not a Bitmap. (566909)

Affected platforms and/or devices:

  • Android
  • PhoneGap

Page Detection events received even if camera is set to PageDetect.Off

In PhoneGap, when the page detect value was "off", the app should not have received page detect events, and should have been able to capture even when a page was not detected. However, when the page detect value was set to "off", page detect events were received as though the page detect mode had been set to continuous. (566250)

Affected platforms and/or devices:

  • Android
  • PhoneGap

setPageDetectionEnabled(false) did not behave correctly

Setting setPageDetectionEnabled(false) should have made the AnimatedDocumentCaptureExperience ignore all capture constraints related to page detection. In other words, an image should have still been captured even if the flowing criteria were set, but never met: "page area", "page long edge threshold", "page short edge threshold", and "detect page orientation". Instead, an image was never captured, and the "Move Closer" message was always shown. (565653)

Affected platforms and/or devices:

  • Android

_DoRecognizeTextMICR_ affected page detection during processing

_DoRecognizeTextMICR_ was originally used as a check of the MICR and had no effect on image processing. This was changed in 2.3, which introduced unintended behaviors. For example, in some cases the first characters of the found MICR line were missing. (565539)

Affected platforms and/or devices:

  • All

Failed to Process Image with IMAGE_REP_FILE

The image was not processed when ProcessedImageRepresent was set to IMAGE_REP_FILE. An image processing error ("The input image object has no active representation for file, Bitmap or both...") was displayed when processing an image when the image representation is set to file. (562335)

Affected platforms and/or devices:

  • iOS

ImageCaptureView returned incorrect onCameraInitialized events

The application received onCameraInitialized events with the status of CAMERA_USE_VIDEO_FRAME_CHANGED, even though setUseVideo() was not called. It may also have received onCameraInitialized events with the status of CAMERA_IMAGE_RESOLUTION_CHANGED, even though setImageResolution() was not called. This happened if the application started an Intent on top of an Activity and then returned to the original Activity. Although the View was not re-created and the instance of ImageCaptureView has not changed, the application always received either CAMERA_USE_VIDEO_FRAME_CHANGED or CAMERA_IMAGE_RESOLUTION_CHANGED - never both, and never CAMERA_VIEW_CREATED. (564537)

Affected platforms and/or devices:

  • Android

AppStats image table logs had incorrect image filesize for bitmaps

If the image processor was set to provide an IMAGE_REP_BITMAP or IMAGE_REP_BOTH, AppStats recorded the number of pixels in the bitmap for the fileSize column of the ImageProcessorEvent table. (562475)

AppStats also has an Image table with a fileSize column. Here, if the image was represented by a bitmap, the fileSize will be 0. These two tables should be consistent. The Image table in AppStats should log the fileSize as the number of pixels in the bitmap for those images that are represented by a bitmap.

Affected platforms and/or devices:

  • Android

Failed to read bar code after dismissing ReadBarcode alert

In PhoneGap, while reading a bar code, if the "Read Barcode" button was tapped, an alert was displayed (BarcodeCaptureControl.addEventList error! Action already in progress). After dismissing this, the bar code could not be read. (562375)

Affected platforms and/or devices:

  • Android
  • Phone Gap

Capture view displayed in video mode even after switching to camera mode

When the Android relative area ratio functions (setPageAreaForDetection or setPageAreaThreshold) were set to a low value, such as 5, the application should have fired off a page detection event and/or capture when the page occupies at least 5 percent of the view. However, this did not happen. If these values were higher than 20, the pageDetected event \ fired and the image was captured as expected. (561722)

Affected platforms and/or devices:

  • Android

Failed to process image with IMAGE_REP_FILE

The image was not processed when ProcessedImageRepresent was set to IMAGE_REP_FILE. An image processing error ("The input image object has no active representation for file, Bitmap or both...") was displayed when processing an image when the image representation is set to file. (562335)

Affected platforms and/or devices:

  • iOS

Flash mode ON did not work

In PhoneGap, setting the Flash Mode to ON was not functional (there was no flash even after the mode was changed in Settings). (562331)

Affected platforms and/or devices:

  • Android

Unable to capture bar code second time after launch

In the PhoneGap sample application, after capturing a bar code the first time, if the user pressed the back button and then tried to capture the bar code again, the application was not able to capture it the second time. (562319)

Affected platforms and/or devices:

  • Android

setGPSUsageLimits = neverUse only worked if location permissions are removed

In the SDK, there was a method that allowed the user to set the GPS usage for the image capture control off: com.kofax.kmc.kui.uicontrols.ImageCaptureView.setGpsUsage(GpsUsageLimits limits). The neverUse functionality only worked if was taken out of the manifest. (561943)

Affected platforms and/or devices:

  • Android

Relative area ratio must be approximately 20 or highers

When the Android relative area ratio functions (setPageAreaForDetection or setPageAreaThreshold) were set to a low value, such as 5, the application should have fired off a page detection event and/or capture when the page occupies at least 5 percent of the view. However, this did not happen. If these values were higher than 20, the pageDetected event \ fired and the image was captured as expected. (561722)

Affected platforms and/or devices:

  • Android

User instructions centered despite different x and y coordinates

When using the Android AnimatedDocumentCaptureExperience, you can construct a variety of messages and user instructions. When using the UserInstructionMessage, the text was always set in the exact center of the screen, regardless of the specified x and y coordinates. (560849)

Affected platforms and/or devices:

  • Android

Default messages rotated incorrectly

When using the Check Capture experience or the Animated Capture Experience, the default capture message was initially rotated correctly when the phone is held in the original orientation and 90 degrees to the left. But when the phone was rotated 90 degrees to the right, the message was displayed upside down. (559370)

Affected platforms and/or devices:

  • iOS

GPS settings not recorded on iOS8

If you enabled Location Services, in order to capture GPS information in the image header, the following needed to be added to your application's info.plist beginning with iOS 8: (557861)

  • One of these keys: NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription
  • For the associated key value, include a message string that the user will see when the permission popup appears.

Affected platforms and/or devices:

  • iOS 8

Could not upgrade database from 2.1 into the schema for 2.2

In AppStats, an error ( KMC_UT_CREATE_DB_FAILED) was generated when attempting to upgrade the AppStats database from SDK version 2.1 into the 2.2 schema. (403458)

This only happened if the SQL Database had exported/written the AppStats data via:

(int)writeToFile

or:

(int) export: (NSString *) exportFilePath

withFormat: (KUTappStatsExportFormat)exportFormat

Affected platforms and/or devices:

  • iOS

Writing AppStats data to file may have caused issues7)

To avoid possible synchronization issues, it was necessary to turn AppStats off before writing the data to a file. (376049)

Affected platforms and/or devices:

  • Android

When a clear image was captured, the MICR or the signature may not have been be detected and error was thrown. This was a random issue. (360700)

Affected platforms and/or devices:

  • iOS
  • Android

returnCameraEvents Method

The SDK contains a returnCameraEvents method that must be set to True in order for an app to take advantage of page detect, levelness and stability threshold events. If this value was left at the default or set to False, these threshold events are not returned. iOS was missing this method. (324720)

Affected platforms and/or devices:

  • Android
  • iOS

Flash fired continuously on some devices

After abruptly switching from a dark to light environment (such as picking the tablet up from a table), the flash fired repeatedly, resulting in a washed out image. This happened when the flash was set to "Auto". (345226)

If the user moved the device, the flash would pause. As soon as the device was stable again, the flash resumed firing, which made it almost impossible to take a properly exposed image.

Affected platforms and/or devices:

  • Android
  • Samsung S4
  • Samsung S3

iOS: unfocused images captured despite the camera reporting focused

It was possible to capture an out of focus image with the Image Capture Control even though the camera reported that the lens was focused. This normally happened when page detect was set to automatic or continuous and when all the stability/levelness settings were satisfied, but the camera physically could not focus because the lens was too close to the document. Despite this, eventually the camera incorrectly reported that it was focused. If the user then gently moved the device far enough away from the document for it to normally be able to focus, the resulting image was still out of focus. In order for this to happen, the device must have been moved gently enough that the settings were continuously satisfied. If the settings were exceeded, even if just for an instant, the camera refocused at the new distance. (343400)

Affected platforms and/or devices:

  • iOS

Some devices captured full size images in video mode

On some devices, using takePicture while in video mode resulted in capturing a full size image.(324939)

Affected platforms and/or devices:

  • Android

The following devices were known to exhibit this behavior. There may be others.

  • HTC One
  • LG G Pad 8.3
  • Nexus 10
  • Samsung Mega
  • Samsung S3

Nexus 10: flash did not work in capture mode

On the Nexus 10, when in capture mode with the flash setting on, the flash did not fire. (324897)

Affected platforms and/or devices:

  • Android
  • Nexus 10

Could not use flash on certain Samsung devices

During image capture with the flash enabled, the level indicator froze and the image capture view was sluggish. (324740)

Affected platforms and/or devices:

  • Android
  • Samsung 12.2
  • Samsung Note 10.1

returnCameraEvents method

The SDK contains a returnCameraEvents method that must be set to True in order for an app to take advantage of page detect, levelness and stability threshold events. If this value was left at the default or set to False, these threshold events are not returned. iOS was missing this method. (324720)

Affected platforms and/or devices:

  • Android
  • iOS

Race Condition Caused iPhones to Crash

A race condition occurred during bar code capture when removing the bar code control from view. This most frequently caused the iPhone 4 with iOS 7.1 to crash. However, in rare instances, this may have also been seen on newer iPhones and older versions of iOS. (316394)

Affected platforms and/or devices:

  • iPhone
  • iOS

Tilt Not required in image capture control

On Android devices, while in continuous capture mode, before recapturing an image, the user should have been required to tilt the device away from level to reset the levelness and stability thresholds. This was not happening, resulting in a continuous stream of images. (324703)

Affected platforms and/or devices:

  • Android

Cannot capture back side of check

When using a LenovoYoga, an app may not have been able to capture the backside of certain checks. The issue occurred when a check did not have enough data on it for the LenovoYoga camera to focus successfully. (324517)

Affected platforms and/or devices:

  • Android
  • LenovoYoga

Quick Analysis did not consistently indicate blurred images

When requesting a quick analysis with the image processor API, the app may or may not have requested a reference image. When requesting a quick analysis without an image, the "blurry" setting was missed, and consequently the Quick Analysis Results object was not correctly set up. (323424)

Affected platforms and/or devices:

  • iOS

In video mode, LED inconsistent across devices

During Capture with Video Mode On and Flash On, there was inconsistent flash lamp behavior across devices. For some devices the lamp was on and for other devices, the lamp was off. (322722)

Affected platforms and/or devices:

  • Android

Android applications crash with invalid license

Attempting to run an Android application without a valid license caused the app to crash. (322330)

Affected platforms and/or devices:

  • Android

Race condition caused iphones to crash

A race condition occurred during bar code capture when removing the bar code control from view. This most frequently caused the iPhone 4 with iOS 7.1 to crash. However, in rare instances, this may have also been seen on newer iPhones and older versions of iOS. (316394)

Affected platforms and/or known devices:

  • iPhone
  • iOS

Asus transformer camera feed not centered

Asus Transformer tablets (where landscape mode is the natural orientation) exhibited a problem where the camera view appeared off center in the tablet screen. (306608)

Affected platforms and/or known devices:

  • Android
  • Asus Transformer

Motorola MotoX sensor handling

There is a hardware compatibility issue for level detection when using the SKD ImageCaptureView class with the Motorola Moto X. When creating an App for this device, use the setMotionSensorType API method to bypass this compatibility issue. (293678)

Usage example:

((ImageCaptureView) preview).setMotionSensorType(MotionSensorType.RAW); // to force use raw sensors (accelerometer and magnetic sensors) for motion detect.

Note This API method is only supported for this device, do not use with other devices. Affected platforms

Affected platforms and/or known devices:

  • Android
  • Samsung S3
  • Sony Xperia Tab Z

MICR data extracted from image with no MICR line

MICR data was returned in metadata when processing an image without a MICR line. (283904)

Affected platforms and/or known devices:

  • Android
  • BankRight

Multiple deprecation errors while compiling for iPad2

Developers were likely to see numerous deprecation errors when using XCode to compile the application for iPad2. (00116376, 24475)

  • iOS Sample Apps

Some Android models may have had imaging issues

In some cases, pictures taken with some Android phone models may have had poor resolution. (00112259, 23875,00115464, 24314)

Affected platforms and/or known devices:

  • Android

Known issues

In HTML5 OnBoarding, when Advanced Capture is selected in the settings screen, and after authentication results in PASS/Attention, the camera for the selfie capture flow becomes unavailable. (1113213)

Selfie capture only works with native capture

The SDK Admin guide was unclear regarding support for credit card extraction. The Mobile SDK only supports on-device credit card extraction for embossed cards using Card.io. Extraction for non-embossed cards is not supported on device. (962670)

Affected platforms and/or known devices:

  • HTML5

Workaround: Use the native camera for selfie capture.

PackagedCaptureExperience will crash after capture

This is a known issue with the PackagedCaptureExperience and Android version 4.4.2. The PackagedCaptureExperience will crash after capturing bills, IDs, or passports. (1113104)

Affected platforms and/or known devices:

  • Android version 4.4.2

Workaround: Use other versions of Android when capturing the affected document types.

KMD - Cannot build with latest Gradle

When building the KMD application in Android Studio, if you are using the latest Gradle setting, the application will fail to build. (1107158)

Affected platforms and/or known devices:

  • Kofax Mobile Demo

Workaround: In order to build the app, you must navigate to the build.gradle file and change the version as follows:

dependencies {

classpath 'com.android.tools.build:gradle:2.3.3'

classpath 'com.google.gms:google-services:3.0.0'

classpath 'io.fabric.tools:gradle:1.23.0'

}

There are open issues with Chrome 64.0.3282.137 that cause incompatibility with the HTML advanced capture feature. (1106451)

Affected platforms and/or known devices:

  • HTML5
  • Android with Chrome version 64.0.3282.137.

Workaround: We recommend to use native capture on Chrome version 64.0.3282.137 and higher until this issue is resolved in Chrome.

Documentation is unclear about credit card extraction support

The SDK Admin guide is unclear regarding support for credit card extraction. The Mobile SDK only supports on-device credit card extraction for embossed cards using Card.io. Extraction for non-embossed cards is not supported on device. (962670)

Affected platforms and/or known devices:

  • Mobile SDK

Workaround: None.

ID card thumbnails may be blank

When an IDCard is extracted, sometimes there is no thumbnail image for the ID in the results screen. Tap on the thumbnail does not resolve the issue. (895545)

Affected platforms and/or known devices:

  • HTML5 onboarding

Workaround: Try again, the blank thumbnail problem is intermittent.

Preview image oversaturated

When we capture an image using the SDK camera (Advance capture ON) the preview of the captured image has increased color intensity. This does not appear to be the case when using native camera (Advance capture OFF). The increased saturation may impact extraction for dark documents (896067)

Affected platforms and/or known devices:

  • HTML5 onboarding
  • Samsung Galaxy Note 5

Workaround: Try again, the blank thumbnail problem is intermittent.

Possible crash withCaptureExperience and ImageCaptureView.addOnImageCapturedListener()

If an application uses ImageCapturedListener (via ImageCaptureView.addOnImageCapturedListener()) along with the CaptureExperience API the the application may crash due to a race condition. In some cases the CaptureExperience API and the application's listener process the same event in parallel. If the CaptureExperience happens to first there is no problem. But if the application listener happens to be first and then quickly clears the captured image bitmap, the application will crash. (891187)

Affected platforms and/or known devices:

  • Android

Workaround: If possible, ensure the Capture Experience is first.

Bad cropping on image captured from SDK camera

When a drive license is captured from camera, the image is not cropped properly when default settings are used. This is because the camera configuration manager is selecting different aspect ratios for the picture size and the preview size.(893052)

Affected platforms and/or known devices:

  • Android ASUS_Z00XS
  • iOS 5.0
  • Possible other devices and OS versions.

Workaround: None.

Target frame cropping is incorrect

Target frame cropping is incorrect if the target frame is off-center. All the CaptureExperience classes have a way to change the center point of the target frame. If this is done, the target frame cropping (both for image processor and quick analysis) will be incorrect. (836618)

Affected platforms and/or known devices:

  • Android

Workaround: Do not modify the center point of the target frame.

MICR detection regression for PNG type.

Using the PNG file format with checks may lower the ability to detect MICRs on the check front. (798960).

Affected platforms and/or known devices:

  • iOS

Workaround: Use JPG for the front images of checks.

Failed to select iCloud images from gallery

When photos from iCloud are synced in device with "Optimize Storage" set to ON. When this happens, the iCloud image will be stored as thumbnail. You can see the thumbnail but can't select and use the image in the app. (763536)

Affected platforms and/or known devices:

  • iOS

Workaround: None.

ImageProcessor crashes with color TIFF files

When trying to process a color TIFF file, the ImpageProcessor crashes when the host device is running iOS 10 and iOS 10.0.1. iOS versions 10.2.0 and newer do not exhibit this issue. (722209)

Affected platforms and/or known devices:

  • Kofax Mobile SDK

Workaround: Avoid using color TIFF files.

Compiling issues when integrating CocoaPods

When integrating the Kofax Mobile SDK with CocoaPods (v1.0.1 or newer), the code will not compile, as it can't resolve some SDK header files.

KTA 7.2.2 does not refer to the correct location for the Cordova 5.4 javascript files, consequently KTA Connect Mobile Capture won't load. (680069)

KTA does not include the latest Cordova 5.4 javascript files, so the SDK project includes the required files along with instructions to copy the files to the correct location. However, the latest version of KTA 7.2.2 looks in the wrong location for the 5.4 Cordova files. As a result, the KTA Connect app will fail to load the Mobile Capture control.

Affected platforms and/or known devices:

  • SDK

Workaround: The steps in the Kofax Mobile SDK Developer's Guide instruct the administrator to copy the files to the "5.4" folder. This will work correctly for KTA 7.2.0.1, but once the software is updated to KTA 7.2.2, this will break. The easiest workaround is to make a second copy of the "5.4" folder and rename it "5_4".

White image when the Flash is on

When using the flash on the TC70 you may get a very bright and white image when the flash is on. (676057)

Affected platforms and/or known devices:

  • Android
  • TC70

Workaround: None.

Demo crashes when gallery icon is tapped

If the Gallery app is disabled in device settings, the Kofax Mobile Demo application will crash if the user taps the icon in the camera view that opens the gallery. (673877)

Affected platforms and/or known devices:

  • Android 6
  • Nexus 5

Workaround: None.

Samsung S4 slow to return ID extraction results

The Samsung S4 takes significantly longer than other devices to do on-device extraction. (672075)

Affected platforms and/or known devices:

  • Samsung S4

Workaround: None.

Distorted thumbnails in HTML5 sample app

When using the HTML 5 sample application, thumbnails of captured documents appear normal upon initial viewing, but may become distorted on subsequent viewings. (670606)

Affected platforms and/or known devices:

  • iOS 8.1

Workaround: None.

Frequent reloaded alerts while using HTML5 sample app

When using the HTML 5 sample application, the application frequently has to reload the current page. The issue occurs in Safari when the app captures a photo via the tag. (668228)

Affected platforms and/or known devices:

  • iOS 8.1. to 8.3
  • Safari Browser

Workaround: Clear the device cache and try again.

Cannot capture image with HTML 5

When using HTML 5 on the S4 Mini, the mobile device is not able to capture via the native camera when using Chrome version 46. (663283)

Affected platforms and/or known devices:

  • Android
  • HTML5
  • Samsung Galaxy S4 Mini

Workaround: None.

Talk Back doesn't work in credit card viewfinder screen

In the KMD application, the Credit Card viewfinder screen, the "Hold card here" prompt is not vocalized. This is a third party bug. (654589)

Affected platforms and/or known devices:

  • Android

Workaround: None.

Viewfinder turns black

In the HTML5 sample application, the view finder may display a black screen after completing a single end to end transaction (from capture to submit). (651234)

Affected platforms and/or known devices:

  • HTML5
  • iOS 8.1.2
  • iPhone 4S

Workaround: Even though the view screen is black you can still capture an image by pressing the force capture button, and then tapping Retake.

Browser not responding if native camera is disabled

In HTML5 capture, if the user attempts to capture a document when camera access is disabled, clicking "Allow", the browser becomes unresponsive and may crash without displaying an error. (648726)

Affected platforms and/or known devices:

  • HTML5
  • Android 6.0.1
  • Nexus 6

Workaround: None.

BarcodeCaptureView

The behavior for this method has changed when capturing multiple bar codes. Now, readBarcode() has to be called again in order to read additional bar codes. See the API reference guide for details. (635412)

Affected platforms and/or known devices:

  • Android

Workaround: None.

Bar Code Extraction not working

In the Packaged Capture Experience, when trying to capture a bar code, if you try to do the extraction without also sending the front-side ID image (other than setting the side to BACK), you may receive null extraction results. (633864)

Affected platforms and/or known devices:

  • iOS
  • Packaged Capture API

Workaround: None.

Bar Code Extraction not working

In the Packaged Capture Experience, when trying to capture a bar code, if you try to do the extraction without also sending the front-side ID image (other than setting the side to BACK), you may receive null extraction results. (632983)

Affected platforms and/or known devices:

  • Android
  • Packaged Capture API

Workaround: None.

Memory warnings in log

When using the Document Capture Experience on an affected device, the user may experience memory issues. (631716)

Affected platforms and/or known devices:

  • iOS
  • iPhone 4s

Workaround: None.

Fatal Signal 11 on capture and retake

On Capture and Retake(Uniform Guidance), the application crashes with Fatal Signal 11 . (628132)

Affected platforms and/or known devices:

  • Android
  • Samsung SIII Mini

Workaround: Develop with different device if you run into this issue.

Galaxy S3 mini has trouble capturing check backs

The Samsung Galaxy S3 mini may have trouble capturing check backs in certain situations in video mode, such as with a light check back on a white board, or when there is significant glare. This happens because the highest supported resolution for this device is 1280x720.The problems do not occur in image mode. (626921)

Affected platforms and/or known devices:

  • Android
  • Samsung Galaxy mini

Workaround: Use image mode with this device.

Cannot use custom component with TotalAgility

In this release Kofax Mobile Demo does not support the custom component with TotalAgility integration . (619699)

Affected platforms and/or known devices:

  • Android
  • iOS
  • Kofax Mobile Demo

Workaround: None.

Visibility setting for instruction message ignored

After setting the user instruction message (fill viewable area), to invisible, the message will still show up. (614559)

Affected platforms and/or known devices:

  • Android

Workaround: To make the user instruction message effectively invisible, set the message property to an empty string.

Page detect thresholds now based off static frame

The page detect thresholds are now being calculated off the static frame. In past releases, they were based off of the entire capture view. This change does not apply to iOS, which still bases the calculation on the entire capture view. (614546)

Affected platforms and/or known devices:

  • Android

Workaround: None.

Tap to focus is not supported

Tap to focus is not supported on the Samsung S5 because the device uses continuous video mode. Attempting to use "tap to focus" will stop focusing and cause it to be reset every 2 seconds. (613606)

Affected platforms and/or known devices:

  • Android
  • Samsung S5

Workaround: None.

Message not clipped correctly in portrait mode

In some devices, the instruction message is not the clipped correctly when the device screen is in portrait mode. This does not happen when the phone is rotated so that the screen is in portrait mode. (611787)

Note This issue is dependent on the text size and device screen size. The message boundaries are correct if the text size is small. The message boundaries are correct in landscape mode, but not in portrait mode if the text size is medium. The message boundaries are incorrect in both landscape and portrait mode if the text size is large.

The text size is in relation to the screen size, so, for example, size 20 text is considered large on a mobile device but small on a tablet.

Affected platforms and/or known devices:

  • Android

Workaround: None.

Colors are shifted for TIFF images on iOS8.3

Processing images to colored tiffs on iOS 8.3 will result in incorrect colors. The SDK contains code that generates TIFF images in a JPEG compressed YCbCr format. The resulting files conform to TIFF specifications, and the images check out OK with an online TIFF header/viewer. Prior to iOS 8.3, the images displayed properly when reading in with [UIImage imageWithContentsOfFile]. With 8.3, the colors are reversed (BGR instead of RGB). This bug has been reported to Apple. (609601)

Affected platforms and/or known devices:

  • iOS

Workaround: Avoid using TIFF images.

Processed image is inappropriately deskewed

The processed image is deskewed even though auto deskew is disabled when auto rotate is enabled. If you are going to use auto rotate it is recommended that you enable deskew. (608615)

Affected platforms and/or known devices:

  • iOS

Workaround: None.

Flash keeps cycling on/off every second

On some devices, the flash keeps cycling on and off every second before the image is captured. For these devices, the flash is being used to aid auto-focus and, depending on the diver, may be normal behavior. See the Android Developer guide for details. (607732 )

Affected platforms and/or known devices:

  • Android

Workaround: None.

Shaky circle and target while capturing

The circle and target will keep shaking, even when the device is steady. This can make it difficult to capture, especially when using the default stability settings. (596444)

Affected platforms and/or known devices:

  • Moto G
  • Amazon Kindle Fire HDX 8.9

Workaround: Force capture the images or lower the stability threshold to something like 65.

Unable to capture document with default page area threshold setting on certain devices

When using certain devices, the aspect ratio of the screen makes it difficult to meet the page area threshold. This depends on the page area threshold setting. For example, if the page area threshold is set to 55% when using the Kindle Fire tablet, it is almost impossible to fit a standard sized document within the on screen guides and fill more than 50% of the preview area. Consequently, the image cannot be automatically captured. (591441)

Affected platforms and/or known devices:

  • Kindle Fire
  • Sony Tablet Z
  • Samsung Galaxy Tab S 8.4"

Workaround: Lower the page area threshold as needed to enable capture.

checkCaptureExperience should not be used in image mode

The SDK doesn't allow an application to set the preview resolution. Because of this, on certain devices, if the checkCaptureExperice is used in image mode, the captured images are cut off. This occurs even though the default resolution for captured images is higher than 1080p, because the preview resolution is too low. (591091)

Affected platforms and/or known devices:

  • Android

Workaround: Always use the checkCaptureExperience in video mode.

When image processing fails to write to file, it fails silently

In iOS, if the user configures the image processor to write to file after processing, and then specifies a file path that does not exist, the image processor will fail when attempting to write but will not notify the user. (566919)

Affected platforms and/or known devices:

  • iOS

Workaround: None.

Calling setPageDetectMode() causes CheckCaptureExperience to freeze sporadically

If setPageDetectMode is called on an ImageCaptureView that's registered to the CheckCaptureExperience, and then the user starts capturing checks, the CheckCaptureExperience will freeze up sporadically. When it freezes up, there is no guidance and you can't use any navigation in your application. (565648)

Affected platforms and/or known devices:

  • Android

Workaround: Restart the application.

Android: level indicator switched phases rapidly

On the Motorola Moto G, the level indicator rapidly switched between states. (322233,564550)

Affected platforms and/or known devices:

  • Android
  • Moto G

Captured image is cropped

When using the ImageCaptureView, the captured image is cropped. This is seen only in image capture mode and not video capture. This happens with the following image resolutions: 2048x1536 and 2592x1944 (default). (564331)

Affected platforms and/or known devices:

  • Android
  • Lenovo Vibe Z2 Pro

Workaround: Change to a different resolution.

Default resolution for image capture mode doesn't capture

Known affected devices are listed below, there may be others.

Default resolution for image capture mode doesn't capture

Affected platforms and/or known devices:

  • Android
  • Moto G
  • Samsung Galaxy Note 1
  • Droid 4
  • Droid Charge
  • Droid Mini
  • Samsung Galaxy S2
  • Nexus 10
  • HTC Thunderbolt

Workaround: If your application needs to support one of these devices, try video mode instead of image capture mode.

Turning video frame ON when camera is not open forces PreviewSize instead of PictureSize

For the ImageCaptureView, if setUseVideoFrame(true) is called when the camera is not open/ ready, then the CameraManager will still set _isUsingVideo to true, even though the camera has not been set to use Video Mode. This causes the camera to use the default PreviewSize instead of the PictureSize when in Image mode, which may cause unintended behavior. (564360)

Affected platforms and/or known devices:

  • Android

Workaround: None.

Camera feed starts flickering after a few minutes

After leaving the ImageCaptureView open for about 2 minutes, the camera feed flickers, as if some black frames were occasionally showing. (564131)

Affected platforms and/or known devices:

  • Android
  • Samsung Mega

Workaround: None.

Default capture messages not in correct position regardless of device orientation

On some devices, in the AnimatedDocumentCaptureExperience, the messages are not displayed correctly, regardless of the orientation the device is moved into or the orientation in which the application is launched. This has been observed on the Samsung Tab 10, Samsung Note 10.1 2014 edition, and the Samsung Galaxy Note Pro 12.2. Note that other devices may also be affected. (563887)

Affected platforms and/or known devices:

  • Android

Workaround: None.

Level indicator freezes after capture

The level indicator in the ImageCaptureView will not move on the HTC Desire 820 after capturing an image. Intermittently, the level indicator becomes completely stuck for about 5 seconds. (563875)

Affected platforms and/or known devices:

  • Android
  • HTC Desire 820

Workaround: None.

Check detection does not on work older versions of android

Check Detection and the Check Capture Experience are not supported on older versions of Android (Gingerbread and earlier). (560519)

Affected platforms and/or known devices:

  • Android

Workaround: For older versions, use the Animated Document Capture Experience instead.

Check detector returns bounds rotated 90 degrees

When passing in a portrait image, bounds come back in landscape. These bounds should be transformed back into portrait before they are returned. (556995)

Affected platforms and/or known devices:

  • Android

Workaround: None.

CheckCaptureExperience does not work if the landscape view is landscape left

The CheckCaptureExperience works (gives correct guidance) in portrait orientation as well as "landscape right" orientation. If it is in "landscape left" orientation, it will give you the wrong guidance. Android devices display upside down CaptureMessages. (559425)

Affected platforms and/or known devices:

  • Android
  • iOS

Workaround: None.

CheckDetector only works with landscape bitmaps

The CheckDetector class only works when passed a landscape-oriented bitmap. With portrait-oriented bitmaps, you either get back a null result, or occasionally a sig 11 crash. (557910)

Affected platforms and/or known devices:

  • Android

Workaround: Use only landscape-oriented bitmaps with the CheckDetector. If necessary, you can try manually rotating the image.

When passing in CheckSide Back or None, a null result is always returned from the CheckDetector instead of the expected normal contrast-based page detection results when using these modes. (557276)

Affected platforms and/or known devices:

  • Android

Workaround: None: This capability has not been implemented. Back and None values will return a null result by design. This may change in a future release.

 

In some cases, the guidance frame used when capturing the MICR line from a check may incorrectly appear to pulsate and two default messages will appear overlaid on top of each other. This will happen when an application inadvertently constructs two CheckCaptureExperience objects or two AnimatedDocumentCaptureExperience objects on the same image capture control. (557212)

Affected platforms and/or known devices:

  • iOS

Workaround: Do not double up on check capture experiences.

Captured credit cards may not be displayed correctly

On certain combinations of phone model and Android version, the embossed credit card (Card.io) capture view displays as an opaque gray rectangle. (554751)

Affected platforms and/or known devices:

  • Android

Workaround: Set the hardwareAccelerated flag to true for the io.card.payment.CardIOActivity in your Android manifest file:

android:name="io.card.payment.CardIOActivity"

android:configChanges="keyboardHidden|orientation"

android:hardwareAccelerated="true" />

Large images cause an error in check deposit

There's an issue with large images for Check Deposit that is causing this error: Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. This occurs when the image is large and image processing is done on the image. The dimensions of the images are about 3400x1500 with a DPI of 400. (548315)

Affected platforms and/or known devices:

  • iOS
  • Android

Workaround: Do use very large images with Check Deposit.

Sony XPeria Z1s captures unfocused images

When using the image capture control in video capture mode with continuous capture on, it is very easy to capture unfocused images, particularly in low light conditions. (378258)

Affected platforms and/or known devices:

  • Android
  • Sony XPeria Z1s

Workaround: Ensure there is adequate lighting and try turning the torch on.

Droid Razr Maxx stability value not stable

When trying to capture with page detection, the stability value occasionally jumps between 86~87 to 100, even when the phone is motionless. This side effect makes it difficult to capture when page detection is enabled. (375515)

Affected platforms and/or known devices:

  • Android
  • Droid Razr Maxx

Workaround: None.

PostNet bar code search is slower than other bar code symbologies

Depending on the device and the bar codes being read, search times will vary but will in general be up to 10 times slower when searching for the same number of PostNet symbologies as when searching for another symbology. (370107)

Affected platforms and/or known devices:

  • All

Workaround: None.

HTC Thunderbolt may crash when using torch

In the Android Image Capture control, when using the Torch on the HTC Thunderbolt, the lamp will hold a steady light before capturing the image. But after a continuous capture or force capture event, the torch may occasionally flash and cause the application to crash. (369559)

Affected platforms and/or known devices:

  • Android
  • HTC Thunderbolt

Workaround: None, the SDK will throw an exception if this device is used with the torch.

Android app will not run in emulator with Google Maps API Enabled

The Android BankRight app will not run in the Android emulator when the Google maps API is enabled. (352625)

Affected platforms and/or known devices:

  • Android

Workaround: Removing Google Maps from the AndroidManifest.xml will allow the BankRight app to run in the emulator appropriately.

Level indicator sluggish with continuous page detection

On the iPhone 4, the motion of the level indicator becomes quite choppy and is difficult to use. In addition, it may jump back to the center of the screen, even if the device is not level. This happens when continuous page is on in either video or capture mode. (346683)

Affected platforms and/or known devices:

  • iOS
  • iPhone 4

Workaround: Don't use continuous page detection with this device; use auto page detection instead.

Blue overlay obscures viewer at certain sizes

Blue overlay obscures viewer at certain sizes

Affected platforms and/or known devices:

  • Android
  • LG Lucid

Workaround: If you experience this issue, try changing the size.

Extreme DPI settings not supported

On the low side, setting a DPI below 30 is not supported. On the high side, problems appear when the DPI is set in the thousands, the exact value depending on the device and its configuration. (345439, 345420, 306154, 306152 )

Specific problems may vary, for example there may be memory alerts, parts of the screen may turn black, and in the worst case the application may crash. As a general rule of thumb, try to use a DPI value between 200 and 300.

Affected platforms and/or known devices:

  • Android
  • iOS

the application should include logic to confirm and enforce minimum and maximum DPI settings.

Overexposed images if lighting changes from dark to bright

When attempting to capture a driver license, check, or bill, if the device camera is in a dark area, the camera compensates for the darkness by setting the exposure to high. If the lighting suddenly changes to bright, the camera does not reset the exposure to compensate when the flash fires as a focus aid. This causes the view to be stuck in an overexposed state, resulting in a badly washed out image. (344839)

This may happen, for example, when setting the device on a table top such that virtually all the light entering the lens is blocked by the table surface. When the device is lifted from the table the flash fires, and light floods the lens, but the image does not adjust.

Affected platforms and/or known devices:

  • Android
  • Samsung Galaxy Note Pro 12.2
  • Samsung Galaxy Note Pro 12.2

Workaround: Make sure the flash is off. Or, force the camera to reset the exposure by rotating the device or by relaunching the capture control.

Unable to capture with pitch set to 180

Setting certain pitch (declination) values may prevent the device from capturing an image. The SDK allows a range of declination values based on the limits of the device, and does not prohibit values within that range, even when those values lead to problems, such as setting the pitch to 180 (which would be the equivalent of taking a picture while upside down). It is up to the app to enforce what the developer considers to be a reasonable range of values for the pitch. In general, any value from 0 (horizontal) to 90 (vertical) should work without issues. (344237)

Affected platforms and/or known devices:

  • Android
  • iOS

Workaround: Restrict the pitch range to something reasonable.

Certain screen resolutions problematic

Under poor lighting conditions, when the below resolutions are used with the image capture view, the iPhone 4 camera repeatedly seeks focus for a prolonged period of time (up to 30 seconds). When using the video capture frame, camera focus becomes unresponsive. Also, the level indicator remains yellow, and even if the view in the preview screen becomes focused, the camera still does not take a picture. (343578)

Note that this is not unique to the SDK and could occur in any app that attempts to use these resolutions on an iPhone 4.

The resolutions causing these problems are:

  • Preset 1280x720
  • PresetHigh
  • iFrame 1280x720
  • InputPriority

Affected platforms and/or known devices:

  • iOS
  • iPhone 4

Workaround: Avoid using these resolutions with the iPhone 4 unless you can ensure ideal lighting. Also, you can disable the video mode and instead use the image capture frame with Photo resolution to capture high resolution images. Other iOS devices do not exhibit this issue.

Note Another alternative is to leave the torch on while capturing images with these resolutions. This may yield better results, but when using this approach, try to minimize glare from the torch lamp.

Removed images still visible in gallery

After using the SDK to delete images from the image gallery, thumbnails may still be visible when subsequently viewing the gallery. (342182)

Affected platforms and/or known devices:

  • Android

Workaround:

Camera feed upside down on landscape tablets

Some tablets (those which are designed such that landscape mode is the natural orientation) may exhibit a problem where the camera view appears inverted in the tablet screen. (306611)

This occurs when rapidly rotating the device 180 degrees one or more times.

Affected platforms and/or known devices:

  • Android
  • Asus Transformer
  • Galaxy Tab 10.1
  • Nexus 10
  • Possibly others

Workaround: When rotating the tablet, pause for a few moments every 90 degrees. Alternatively, disable the auto-rotate screen option.

About the Author

Atalasoft General

This is a general account for case studies, product information, and articles about the culture of Atalasoft.

Follow on Twitter More Content by Atalasoft General

No Previous Articles

Next Article
Mobile SDK: Atalasoft MobileImage Release Notes 3.0.0
Mobile SDK: Atalasoft MobileImage Release Notes 3.0.0