From e53838c47579bd2bb5c1eac961fab72ddb714be5 Mon Sep 17 00:00:00 2001 From: DefTruth <31974251+DefTruth@users.noreply.github.com> Date: Fri, 25 Nov 2022 09:01:35 +0800 Subject: [PATCH] [Bug Fix] add enableCamera method to fix app crash (#696) * [Android] Add CxxBuffer to native PaddleSegModel * [Android] Add PaddleSeg android app example * [Android] Add SCRFD android app example * [Doc] fix typos * [Android] revert camera setting changes * [Bug Fix] fixed ppdet postprocess empty result error * [Android] add enableCamera method to fix app crash --- cmake/paddlelite.cmake | 2 +- .../examples/classification/ClassificationMainActivity.java | 2 ++ .../app/examples/detection/DetectionMainActivity.java | 2 ++ .../fastdeploy/app/examples/facedet/FaceDetMainActivity.java | 2 ++ .../paddle/fastdeploy/app/examples/ocr/OcrMainActivity.java | 2 ++ .../app/examples/segmentation/SegmentationMainActivity.java | 2 ++ .../paddle/fastdeploy/app/ui/view/CameraSurfaceView.java | 4 ++++ 7 files changed, 15 insertions(+), 1 deletion(-) diff --git a/cmake/paddlelite.cmake b/cmake/paddlelite.cmake index 27349abe3..d86ccf2d1 100755 --- a/cmake/paddlelite.cmake +++ b/cmake/paddlelite.cmake @@ -69,7 +69,7 @@ endif() if(WIN32 OR APPLE OR IOS) message(FATAL_ERROR "Doesn't support windows/mac/ios platform with backend Paddle Lite now.") elseif(ANDROID AND WITH_LITE_STATIC) - set(PADDLELITE_LIB "${PADDLELITE_LIB_DIR}/libpaddle_api_full_bundled..a") + set(PADDLELITE_LIB "${PADDLELITE_LIB_DIR}/libpaddle_api_full_bundled.a") set(PADDLELITE_REMOVE_LIB "${PADDLELITE_LIB_DIR}/libpaddle_api_light_bundled.a") else() set(PADDLELITE_LIB "${PADDLELITE_LIB_DIR}/libpaddle_full_api_shared.so") diff --git a/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/classification/ClassificationMainActivity.java b/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/classification/ClassificationMainActivity.java index 7e7fce004..54fece396 100644 --- a/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/classification/ClassificationMainActivity.java +++ b/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/classification/ClassificationMainActivity.java @@ -306,6 +306,8 @@ public class ClassificationMainActivity extends Activity implements View.OnClick // Open camera until the permissions have been granted if (!checkAllPermissions()) { svPreview.disableCamera(); + } else { + svPreview.enableCamera(); } svPreview.onResume(); } diff --git a/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/detection/DetectionMainActivity.java b/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/detection/DetectionMainActivity.java index dbb76df83..127711767 100644 --- a/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/detection/DetectionMainActivity.java +++ b/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/detection/DetectionMainActivity.java @@ -305,6 +305,8 @@ public class DetectionMainActivity extends Activity implements View.OnClickListe // Open camera until the permissions have been granted if (!checkAllPermissions()) { svPreview.disableCamera(); + } else { + svPreview.enableCamera(); } svPreview.onResume(); } diff --git a/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/facedet/FaceDetMainActivity.java b/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/facedet/FaceDetMainActivity.java index fa2f1aeb9..1891f99e3 100644 --- a/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/facedet/FaceDetMainActivity.java +++ b/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/facedet/FaceDetMainActivity.java @@ -300,6 +300,8 @@ public class FaceDetMainActivity extends Activity implements View.OnClickListene // Open camera until the permissions have been granted if (!checkAllPermissions()) { svPreview.disableCamera(); + } else { + svPreview.enableCamera(); } svPreview.onResume(); } diff --git a/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/ocr/OcrMainActivity.java b/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/ocr/OcrMainActivity.java index c4b69c520..4dc1885b3 100644 --- a/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/ocr/OcrMainActivity.java +++ b/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/ocr/OcrMainActivity.java @@ -306,6 +306,8 @@ public class OcrMainActivity extends Activity implements View.OnClickListener, C // Open camera until the permissions have been granted if (!checkAllPermissions()) { svPreview.disableCamera(); + } else { + svPreview.enableCamera(); } svPreview.onResume(); } diff --git a/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/segmentation/SegmentationMainActivity.java b/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/segmentation/SegmentationMainActivity.java index 08ecda611..88b3c3a5b 100644 --- a/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/segmentation/SegmentationMainActivity.java +++ b/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/examples/segmentation/SegmentationMainActivity.java @@ -287,6 +287,8 @@ public class SegmentationMainActivity extends Activity implements View.OnClickLi // Open camera until the permissions have been granted if (!checkAllPermissions()) { svPreview.disableCamera(); + } else { + svPreview.enableCamera(); } svPreview.onResume(); } diff --git a/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/ui/view/CameraSurfaceView.java b/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/ui/view/CameraSurfaceView.java index 94a5fdbd0..14217181d 100644 --- a/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/ui/view/CameraSurfaceView.java +++ b/java/android/app/src/main/java/com/baidu/paddle/fastdeploy/app/ui/view/CameraSurfaceView.java @@ -278,6 +278,10 @@ public class CameraSurfaceView extends GLSurfaceView implements Renderer, disableCamera = true; } + public void enableCamera() { + disableCamera = false; + } + public void switchCamera() { releaseCamera(); selectedCameraId = (selectedCameraId + 1) % numberOfCameras;