LOAD_JNI_FAILED, to the return values of GlobalIQASDK.setLicenseAndCheck(). This code is returned when loading the native .so library fails.GlobalIQASDK.getErrorMsg() to retrieve detailed error information when native library loading fails. This method returns an error message only when setLicenseAndCheck() returns LOAD_JNI_FAILED; otherwise, it returns null.onLayout method of the camera view.setAutoFocus and getNumberOfCameras).IQAPageState serializationimplementation 'ai.advance.mobile-sdk.android:global-iqa:1.2.8'implementation 'ai.advance.mobile-sdk.android:global-iqa:1.2.7'implementation 'ai.advance.mobile-sdk.android:global-iqa:1.2.6'implementation 'ai.advance.mobile-sdk.android:global-iqa:1.2.5'implementation 'ai.advance.mobile-sdk.android:global-iqa:1.2.4'Bug Fix
In this new release of Global Image Quality Check, we have made the following improvements in handling exception cases below:
RuntimeException occurred here for unknown reasons. We adjust the catch block to catch Exception instead of IOException .implementation 'ai.advance.mobile-sdk.android:global-iqa:1.2.3.1'Bug Fix
In this new release of Global Image Quality Check, we have made the following improvements in handling exception cases below:
Camera.stopPreview(); is called to stop the camera preview, the Camera API throws an unhandled exception. Hence, a try-catch block was used to catch this exceptionGlobalIQAView is not fully initialized and the user clicks on the page to execute GlobalIQAView.autoFocus(), it leads to a NullPointerExceptioninternally. To avoid this issue, we have added a null check to handle this exception.implementation 'ai.advance.mobile-sdk.android:global-iqa:1.2.3'implementation 'ai.advance.mobile-sdk.android:global-iqa:1.2.2'implementation 'ai.advance.mobile-sdk.android:global-iqa:1.2.1'implementation 'ai.advance.mobile-sdk.android:global-iqa:1.2.0'implementation 'ai.advance.mobile-sdk.android:global-iqa:1.1.0'implementation 'ai.advance.mobile-sdk.android:global-iqa:1.0.9'Scan Documentimplementation 'ai.advance.mobile-sdk.android:global-iqa:1.0.8'PAGIBG card typeimplementation 'ai.advance.mobile-sdk.android:global-iqa:1.0.7'Add the following methods for customizing the UI
The text above the camera view supports passing in rich text:
SpannableString spannableString = new SpannableString("xxxxx");spannableString.setSpan(....);intent.putExtra(GlobalIQAActivity.EXTRA_SPANNABLE_ABOVE_CAMERA, spannableString);
In take photo mode,support for setting rich text to the tip view below the camera view:
xxxxxxxxxxSpannableString spannableString = new SpannableString("xxxxx");spannableString.setSpan(....);intent.putExtra(GlobalIQAActivity.EXTRA_SPANNABLE_TIP_TEXT_OF_TAKE_PHOTO, spannableString);
In take photo mode,support for setting rich text for the tip view below the image when previewing after taking a photo:
xxxxxxxxxxSpannableString spannableString = new SpannableString("xxxxx");spannableString.setSpan(....);intent.putExtra(GlobalIQAActivity.EXTRA_SPANNABLE_PREVIEW_TIP_OF_TAKE_PHOTO, spannableString);
Camera view mask support for setting rounded corners (in px):
xxxxxxxxxxnew UIExtras.Builder().setFrameRectCornerRadius(20).build()
In take photo mode, the background color of the tip view below the camera view can be changed:
xxxxxxxxxxnew UIExtras.Builder().setTakePhotoTipViewBackgroundColor(your color value).build()
In take photo mode,The icon to the left of the tip view below the camera view can be set to hide:
xxxxxxxxxxnew UIExtras.Builder().takePhotoTipViewLeftIconVisible(false).build()
In scan mode, you can customize the style of the tip view:
xTipViewUIElements elements = new TipViewUIElements();elements.setNoCardDrawableResId(R.drawable.xxx);// No card detectedelements.setHoldSteadilyDrawableResId(R.drawable.xxx);// Please hold the phone steadyelements.setCardPoorQualityDrawableResId(R.drawable.xxx);// Card poor quality: blurred/spotty/too darkelements.setCardIncompleteDrawableResId(R.drawable.xxx);// Card incompleteelements.setCardTooSmallDrawableResId(R.drawable.xxx);// Card too smallelements.setViewWidthPercentRelativeToCameraView(1f); // The width of the tip view relative to the camera view, e.g., set to 1 for equal width of the camera viewelements.setAspectRatio(0.25f);// Tip view aspect ratio,width/heightnew UIExtras.Builder().setPortraitTipViewBackgrounds(elements)// In portrait.setLandscapeTipViewBackgrounds(landscapeElements)// In landscape.build()
implementation 'ai.advance.mobile-sdk.android:global-iqa:1.0.6'Add the following types of card recognition
implementation 'ai.advance.mobile-sdk.android:global-iqa:1.0.5'Add a maven repository for online dependencies, remove the guardian_global_iqa_v1.0.x.aar and guardian_core_vx.x.aar that your project already depends on, and do the dependencies as follows.
Add a maven repository dependency to build.gradle in the root of your project
xxxxxxxxxxallprojects {repositories {google()jcenter()...maven {url 'http://public-n3.advai.net/repository/maven-releases/'// If your gradle version is greater than 7.0, you need to add the following configuration to allow pulling aar via httpallowInsecureProtocol = true}}}
Adding package dependencies to app/build.gradle
xxxxxxxxxxdependencies {...// Version record view:http://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/global-iqa/maven-metadata.xmlimplementation 'ai.advance.mobile-sdk.android:global-iqa:1.0.4'}
Add several custom UI methods, please refer to the integration documentation for details.
xxxxxxxxxx....setPagePortraitBackgroundResource(R.drawable.xxx)// The page background picture at portrait state.setPageLandscapeBackgroundResource(R.drawable.xxx)// The page background picture at landscape state.setPageLandscapeTitleBgResource(R.drawable.xxx)// The title background picture at portrait state.setPagePortraitTitleBgResource(R.drawable.xxx)// The page background picture at landscape state.setCameraWidthPercentInPortraitState(0.8f)// The width percent of camera view when the page at portrait state,the value must between [0,1].setCameraHeightPercentInLandscapeState(0.7)// The width percent of camera view when the page at landscape state,the value must between [0,0.7].setRetakeBtnTextColor(your colorRes)//The retake button text color in 'Take Photo' mode.setContinueBtnTextColor(your colorRes)// The continue button text color in 'Take Photo' mode.setTakePhotoTipDialogShowSeconds(3)// The tip dialog(when scanning timeout) duration seconds, set to 0 will not show the dialog.setScanLimitSeconds(20)// The scanning seconds limit,the value must between [5,60].setCountdownTimerVisible(true)// Whether the countdown timer view shown
add function to get picture type
xxxxxxxxxxString pictureType = GlobalIQAResult.getPictureType();// takePhoto or scan