diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2019-01-11 06:14:28 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2019-01-11 06:14:28 -0800 |
commit | ee2c98677b5e5995b0a39350c99ce27210ac2d46 (patch) | |
tree | a4a34050da26ed1894ff5e4037b89b1cfad65e46 /src/com/android/camera/CaptureModule.java | |
parent | 58ec14b645fb658a48bd1221d301d26ba682fac0 (diff) | |
parent | fb588ee269d1fd40776c4286e7b6f7a2a9f0b552 (diff) | |
download | android_packages_apps_Snap-ee2c98677b5e5995b0a39350c99ce27210ac2d46.tar.gz android_packages_apps_Snap-ee2c98677b5e5995b0a39350c99ce27210ac2d46.tar.bz2 android_packages_apps_Snap-ee2c98677b5e5995b0a39350c99ce27210ac2d46.zip |
Merge "SnapdraongCamera:HEIF improvement" into camera-SnapdragonCamera.lnx.2.0
Diffstat (limited to 'src/com/android/camera/CaptureModule.java')
-rwxr-xr-x | src/com/android/camera/CaptureModule.java | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index 88e599d14..d8a9b7662 100755 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -1615,7 +1615,9 @@ public class CaptureModule implements CameraModule, PhotoController, mPreviewRequestBuilder[id].addTarget(surs); list.add(surs); } - list.add(mImageReader[id].getSurface()); + if (mSettingsManager.getSavePictureFormat() == SettingsManager.JPEG_FORMAT) { + list.add(mImageReader[id].getSurface()); + } if (mSaveRaw) { list.add(mRawImageReader[id].getSurface()); } @@ -2228,14 +2230,9 @@ public class CaptureModule implements CameraModule, PhotoController, } else if(id == getMainCameraId() && mPostProcessor.isFilterOn()) { // Case of post filtering captureStillPictureForFilter(captureBuilder, id); } else { - if (mImageReader[id] != null) { - captureBuilder.addTarget(mImageReader[id].getSurface()); - } - if (mSaveRaw && mRawImageReader[id] != null) { captureBuilder.addTarget(mRawImageReader[id].getSurface()); } - if (mSettingsManager.getSavePictureFormat() == SettingsManager.HEIF_FORMAT) { long captureTime = System.currentTimeMillis(); mNamedImages.nameNewImage(captureTime); @@ -2262,6 +2259,10 @@ public class CaptureModule implements CameraModule, PhotoController, e.printStackTrace(); } } + } else { + if (mImageReader[id] != null) { + captureBuilder.addTarget(mImageReader[id].getSurface()); + } } if(mPaused || !mCamerasOpened) { @@ -2388,13 +2389,20 @@ public class CaptureModule implements CameraModule, PhotoController, @Override public void onCaptureSequenceCompleted(CameraCaptureSession session, int sequenceId, long frameNumber) { + if(mLongshotActive) { + captureStillPicture(getMainCameraId()); + } else { + mLongshoting = false; + mNumFramesArrived.getAndSet(0); + unlockFocus(getMainCameraId()); + } if (mSettingsManager.getSavePictureFormat() == SettingsManager.HEIF_FORMAT) { if (mHeifImage != null) { try { - mHeifOutput.removeSurface(mHeifImage.getInputSurface()); - session.updateOutputConfiguration(mHeifOutput); mHeifImage.getWriter().stop(3000); mHeifImage.getWriter().close(); + mHeifOutput.removeSurface(mHeifImage.getInputSurface()); + session.updateOutputConfiguration(mHeifOutput); mActivity.getMediaSaveService().addHEIFImage(mHeifImage.getPath(), mHeifImage.getTitle(),mHeifImage.getDate(),null,mPictureSize.getWidth(),mPictureSize.getHeight(), mHeifImage.getOrientation(),null,mContentResolver,mOnMediaSavedListener,mHeifImage.getQuality(),"heifs"); @@ -2406,13 +2414,6 @@ public class CaptureModule implements CameraModule, PhotoController, } } } - if(mLongshotActive) { - captureStillPicture(getMainCameraId()); - } else { - mLongshoting = false; - mNumFramesArrived.getAndSet(0); - unlockFocus(getMainCameraId()); - } } }; @@ -2467,13 +2468,18 @@ public class CaptureModule implements CameraModule, PhotoController, public void onCaptureSequenceCompleted(CameraCaptureSession session, int sequenceId, long frameNumber) { Log.d(TAG, "captureStillPictureForCommon onCaptureSequenceCompleted: " + id); + if (mUI.getCurrentProMode() != ProMode.MANUAL_MODE) { + unlockFocus(id); + } else { + enableShutterAndVideoOnUiThread(id); + } if (mSettingsManager.getSavePictureFormat() == SettingsManager.HEIF_FORMAT) { if (mHeifImage != null) { try { - mHeifOutput.removeSurface(mHeifImage.getInputSurface()); - mCaptureSession[id].updateOutputConfiguration(mHeifOutput); mHeifImage.getWriter().stop(3000); mHeifImage.getWriter().close(); + mHeifOutput.removeSurface(mHeifImage.getInputSurface()); + mCaptureSession[id].updateOutputConfiguration(mHeifOutput); mActivity.getMediaSaveService().addHEIFImage(mHeifImage.getPath(), mHeifImage.getTitle(),mHeifImage.getDate(),null,mPictureSize.getWidth(),mPictureSize.getHeight(), mHeifImage.getOrientation(),null,mContentResolver,mOnMediaSavedListener,mHeifImage.getQuality(),"heif"); @@ -2485,11 +2491,6 @@ public class CaptureModule implements CameraModule, PhotoController, } } } - if (mUI.getCurrentProMode() != ProMode.MANUAL_MODE) { - unlockFocus(id); - } else { - enableShutterAndVideoOnUiThread(id); - } } }, mCaptureCallbackHandler); } @@ -2579,10 +2580,10 @@ public class CaptureModule implements CameraModule, PhotoController, if (mSettingsManager.getSavePictureFormat() == SettingsManager.HEIF_FORMAT) { if (mLiveShotImage != null) { try { - mLiveShotOutput.removeSurface(mLiveShotImage.getInputSurface()); - mCurrentSession.updateOutputConfiguration(mLiveShotOutput); mLiveShotImage.getWriter().stop(3000); mLiveShotImage.getWriter().close(); + mLiveShotOutput.removeSurface(mLiveShotImage.getInputSurface()); + mCurrentSession.updateOutputConfiguration(mLiveShotOutput); mActivity.getMediaSaveService().addHEIFImage(mLiveShotImage.getPath(), mLiveShotImage.getTitle(),mLiveShotImage.getDate(), null,mVideoSize.getWidth(),mVideoSize.getHeight(), |