From 45f5ede011e3ebdbfa644c2fe4bf93e41f653192 Mon Sep 17 00:00:00 2001 From: likaid Date: Wed, 30 Sep 2015 10:36:49 +0800 Subject: SnapdragonCamera: Fix to make camera display normally Camera params is initialized twice when power on screen which cause this bug happen. Add judgement to make Camera params only be initialized once. CRs-Fixed: 914993 Change-Id: I825afe1e8fa9cda0d971c6f9bb4fe5677e06d809 --- src/com/android/camera/WideAnglePanoramaModule.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java index 06e9710f4..e8ef589d7 100644 --- a/src/com/android/camera/WideAnglePanoramaModule.java +++ b/src/com/android/camera/WideAnglePanoramaModule.java @@ -387,10 +387,14 @@ public class WideAnglePanoramaModule // This is also forward compatible if we have a new facing other than // back or front in the future. if (cameraId == -1) cameraId = 0; - mCameraDevice = CameraUtil.openCamera(mActivity, cameraId, - mMainHandler, mActivity.getCameraOpenErrorCallback()); + + // If mCameraDevice has already exist,there is no need to obtain again if (mCameraDevice == null) { - return false; + mCameraDevice = CameraUtil.openCamera(mActivity, cameraId, + mMainHandler, mActivity.getCameraOpenErrorCallback()); + if (mCameraDevice == null) { + return false; + } } mCameraOrientation = CameraUtil.getCameraOrientation(cameraId); if (cameraId == CameraHolder.instance().getFrontCameraId()) mUsingFrontCamera = true; @@ -974,7 +978,9 @@ public class WideAnglePanoramaModule } else { // Camera must be initialized before MosaicFrameProcessor is // initialized. The preview size has to be decided by camera device. - initMosaicFrameProcessorIfNeeded(); + if (! mMosaicFrameProcessorInitialized) { + initMosaicFrameProcessorIfNeeded(); + } Point size = mUI.getPreviewAreaSize(); mPreviewUIWidth = size.x; mPreviewUIHeight = size.y; -- cgit v1.2.3