From 32a48ddad42992def1acb070affd62817d06e050 Mon Sep 17 00:00:00 2001 From: Jay Wang Date: Mon, 25 Jul 2016 18:16:26 -0700 Subject: SnapdragonCamera: Provide correct orientation when adding image Read orientation from exif and provide to content provider when adding image. CRs-Fixed: 993611 Change-Id: Ic2079dd1b5e6bdb93f73b4084749b3cbc68b3f86 --- .../codeaurora/snapcam/filter/ClearSightImageProcessor.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/org/codeaurora/snapcam/filter') diff --git a/src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java b/src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java index 8970ca8e8..3a94baec9 100644 --- a/src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java +++ b/src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java @@ -29,6 +29,7 @@ package org.codeaurora.snapcam.filter; +import java.io.IOException; import java.io.ByteArrayOutputStream; import java.nio.ByteBuffer; import java.util.ArrayDeque; @@ -65,6 +66,8 @@ import android.util.Log; import android.view.Surface; import com.android.camera.CaptureModule; +import com.android.camera.Exif; +import com.android.camera.exif.ExifInterface; import com.android.camera.MediaSaveService; import com.android.camera.MediaSaveService.OnMediaSavedListener; import com.android.camera.PhotoModule.NamedImages; @@ -821,11 +824,15 @@ public class ClearSightImageProcessor { height = mClearSightImage.getHeight(); } + byte[] bayerBytes = getJpegData(mBayerImage); + ExifInterface exif = Exif.getExif(bayerBytes); + int orientation = Exif.getOrientation(exif); + mMediaSaveService.addMpoImage( getJpegData(mClearSightImage), - getJpegData(mBayerImage), + bayerBytes, getJpegData(mMonoImage), width, height, title, - date, null, 0, mMediaSavedListener, + date, null, orientation, mMediaSavedListener, mMediaSaveService.getContentResolver(), "jpeg"); mBayerImage.close(); -- cgit v1.2.3