From 320f2726b57e899438914232f9ee4bbb976e89dc Mon Sep 17 00:00:00 2001 From: Alpar Szotyori Date: Tue, 22 Jun 2021 14:31:23 +0200 Subject: [PATCH] Don't show the QR code hint popup after importing a document --- .../android/vision/camera/CameraFragmentImpl.java | 15 +++++++++------ .../vision/internal/camera/view/HintPopup.kt | 3 +++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ginivision/src/main/java/net/gini/android/vision/camera/CameraFragmentImpl.java b/ginivision/src/main/java/net/gini/android/vision/camera/CameraFragmentImpl.java index 9edd7f1e0..1886d69c8 100644 --- a/ginivision/src/main/java/net/gini/android/vision/camera/CameraFragmentImpl.java +++ b/ginivision/src/main/java/net/gini/android/vision/camera/CameraFragmentImpl.java @@ -338,7 +338,7 @@ DEFAULT_ANIMATION_DURATION, getHideQRCodeDetectedPopupDelayMs(), new Function0() { @Override public Unit invoke() { - closeUploadHintPopUp(true); + closeUploadHintPopUp(); return null; } }); @@ -844,7 +844,7 @@ private void setInputHandlers() { mCameraPreviewShade.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { - closeUploadHintPopUp(true); + closeUploadHintPopUp(); closeQRCodeScannerHintPopUp(); } }); @@ -868,7 +868,8 @@ public void onClick(final View v) { mImportButtonContainer.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View view) { - closeUploadHintPopUp(false); + mUploadHintPopup.setIsLastPopup(true); + closeUploadHintPopUp(); showFileChooser(); } }); @@ -1040,7 +1041,7 @@ private void handleAnalysisError() { showError(activity.getString(R.string.gv_document_analysis_error), 3000); } - private void closeUploadHintPopUp(final boolean showQRCodeScannerHint) { + private void closeUploadHintPopUp() { if (!mUploadHintPopup.isShown()) { return; } @@ -1049,7 +1050,7 @@ private void closeUploadHintPopUp(final boolean showQRCodeScannerHint) { public void onAnimationEnd(final View view) { final Context context = view.getContext(); saveUploadHintPopUpShown(context); - if (showQRCodeScannerHint && shouldShowQRCodeScannerHintPopup()) { + if (shouldShowQRCodeScannerHintPopup()) { showQRCodeScannerHintPopUp(); } } @@ -1103,7 +1104,9 @@ private boolean shouldShowQRCodeScannerHintPopup() { if (activity == null) { return false; } - if (!isQRCodeScanningEnabled(mGiniVisionFeatureConfiguration) || mInterfaceHidden) { + if (!isQRCodeScanningEnabled(mGiniVisionFeatureConfiguration) + || mInterfaceHidden + || mUploadHintPopup.isLastPopup()) { return false; } final Context context = mFragment.getActivity(); diff --git a/ginivision/src/main/java/net/gini/android/vision/internal/camera/view/HintPopup.kt b/ginivision/src/main/java/net/gini/android/vision/internal/camera/view/HintPopup.kt index 2be13fe17..14fb2f3ac 100644 --- a/ginivision/src/main/java/net/gini/android/vision/internal/camera/view/HintPopup.kt +++ b/ginivision/src/main/java/net/gini/android/vision/internal/camera/view/HintPopup.kt @@ -23,6 +23,9 @@ internal class HintPopup( var isShown = false private set + var isLastPopup = false + @JvmName("setIsLastPopup") set + init { closeButton.setOnClickListener { onCloseClicked()