From cdfbfaf0488559cbc28901919ce7c74cbb016136 Mon Sep 17 00:00:00 2001 From: Jay Wang Date: Tue, 14 Jun 2016 17:27:19 -0700 Subject: SnapdragonCamera: fix front back camera toggle crash - Fix logic when switching camera id from front to back in dual camera setup. - Only init Clearsight once. - Wait for second surface for aux camera to become ready before attempting to create session. CRs-Fixed: 993611 Change-Id: Icec4af06535f29bc75790b1d57eed212f7a86727 --- src/com/android/camera/CaptureModule.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/com/android/camera/CaptureModule.java') diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index 36f787be4..8ac48afcb 100644 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -564,6 +564,9 @@ public class CaptureModule implements CameraModule, PhotoController, // are initialized. if (s != null) { s.setListener(this); + if (isClearSightOn()) { + ClearSightImageProcessor.getInstance().setMediaSaveService(s); + } } mNamedImages = new NamedImages(); @@ -577,6 +580,9 @@ public class CaptureModule implements CameraModule, PhotoController, MediaSaveService s = mActivity.getMediaSaveService(); if (s != null) { s.setListener(this); + if (isClearSightOn()) { + ClearSightImageProcessor.getInstance().setMediaSaveService(s); + } } mNamedImages = new NamedImages(); } @@ -1081,9 +1087,11 @@ public class CaptureModule implements CameraModule, PhotoController, mUI.setPreviewSize(mFrameProcPreviewOutputSize.getWidth(), mFrameProcPreviewOutputSize.getHeight()); } if (isClearSightOn()) { - ClearSightImageProcessor.getInstance().init(size.getWidth(), size.getHeight(), - mActivity, mOnMediaSavedListener); - ClearSightImageProcessor.getInstance().setCallback(this); + if(i == getMainCameraId()) { + ClearSightImageProcessor.getInstance().init(size.getWidth(), size.getHeight(), + mActivity, mOnMediaSavedListener); + ClearSightImageProcessor.getInstance().setCallback(this); + } } else { // No Clearsight mImageReader[i] = ImageReader.newInstance(size.getWidth(), size.getHeight(), imageFormat, MAX_IMAGE_NUM); -- cgit v1.2.3