summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2016-01-05 23:54:52 +0100
committerMichael Bestas <mikeioannina@gmail.com>2017-01-04 21:57:40 +0200
commitcdce1f8c1681f8ce20cf06857afbf36e6d0a1f53 (patch)
tree3073011452768001f0d61181fbd8e3b4e9f7e6c3
parent68b06f8a9cfedb288a08d29a55bca50451ea0a64 (diff)
downloadandroid_packages_apps_Snap-cdce1f8c1681f8ce20cf06857afbf36e6d0a1f53.tar.gz
android_packages_apps_Snap-cdce1f8c1681f8ce20cf06857afbf36e6d0a1f53.tar.bz2
android_packages_apps_Snap-cdce1f8c1681f8ce20cf06857afbf36e6d0a1f53.zip
add support for luminance-condition parameter
Change-Id: Idf845a5f55abf9b72f61ac4bac59ee2258043482
-rw-r--r--src/com/android/camera/CameraSettings.java4
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java12
-rw-r--r--src/com/android/camera/util/CameraUtil.java13
3 files changed, 29 insertions, 0 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index 35f48cebd..5379edb80 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -175,6 +175,10 @@ public class CameraSettings {
public static final String KEY_QC_INSTANT_CAPTURE = "instant-capture";
public static final String KEY_QC_INSTANT_CAPTURE_VALUES = "instant-capture-values";
+ 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 d16823cd3..dc4b9726e 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1681,6 +1681,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 {
@@ -1730,6 +1737,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 54dd34cd8..ed9055771 100644
--- a/src/com/android/camera/util/CameraUtil.java
+++ b/src/com/android/camera/util/CameraUtil.java
@@ -947,6 +947,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: