From 282936212b26dde7d6b18885877945f2fbe780a2 Mon Sep 17 00:00:00 2001 From: codeworkx Date: Tue, 5 Jan 2016 23:54:52 +0100 Subject: add support for luminance-condition parameter Change-Id: Idf845a5f55abf9b72f61ac4bac59ee2258043482 --- src/com/android/camera/CameraSettings.java | 4 ++++ src/com/android/camera/PhotoModule.java | 12 ++++++++++++ src/com/android/camera/util/CameraUtil.java | 13 +++++++++++++ 3 files changed, 29 insertions(+) (limited to 'src/com') diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index ac45bf14f..e65e914e0 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -165,6 +165,10 @@ public class CameraSettings { public static final String KEY_VIDEO_HSR = "video-hsr"; public static final String KEY_QC_SEE_MORE_MODE = "see-more"; + public static final String KEY_LUMINANCE_CONITION = "luminance-condition"; + public static final String LUMINANCE_CONITION_LOW = "low"; + public static final String LUMINANCE_CONITION_HIGH = "high"; + public static final String KEY_INTERNAL_PREVIEW_RESTART = "internal-restart"; public static final String KEY_QC_ZSL_HDR_SUPPORTED = "zsl-hdr-supported"; public static final String KEY_QC_LONGSHOT_SUPPORTED = "longshot-supported"; diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index b0260fe2b..b9026bc01 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -1554,6 +1554,13 @@ public class PhotoModule mParameters = mCameraDevice.getParameters(); } + // LGE G4: Disable hdr if luminance is low and flash get's used + if (CameraUtil.isLowLuminance(mParameters)) { + mParameters.set(CameraSettings.KEY_SNAPCAM_HDR_MODE, "0"); + mCameraDevice.setParameters(mParameters); + mParameters = mCameraDevice.getParameters(); + } + if (CameraUtil.isBurstSupported(mParameters)) { mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter"); } else { @@ -1593,6 +1600,11 @@ public class PhotoModule mRawPictureCallback, mPostViewPictureCallback, new JpegPictureCallback(loc)); setCameraState(SNAPSHOT_IN_PROGRESS); + + // LGE G4: Preview needs to be restarted when flash got used while luminance is low + if (CameraUtil.isLowLuminance(mParameters)) { + setupPreview(); + } } mNamedImages.nameNewImage(mCaptureStartTime, mRefocus); diff --git a/src/com/android/camera/util/CameraUtil.java b/src/com/android/camera/util/CameraUtil.java index 316d3419e..c9c3cdd01 100644 --- a/src/com/android/camera/util/CameraUtil.java +++ b/src/com/android/camera/util/CameraUtil.java @@ -911,6 +911,19 @@ public class CameraUtil { } } } + + public static boolean isLowLuminance(Parameters parameters) { + String lC = parameters.get(CameraSettings.KEY_LUMINANCE_CONITION); + + if (lC != null) { + if (lC.equals(CameraSettings.LUMINANCE_CONITION_LOW)) { + Log.d(TAG, "Parameter " + CameraSettings.KEY_LUMINANCE_CONITION + "=" + CameraSettings.LUMINANCE_CONITION_LOW); + return true; + } + } + return false; + } + public static String getFilpModeString(int value){ switch(value){ case 0: -- cgit v1.2.3