summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2016-01-05 23:54:52 +0100
committerArne Coucheron <arco68@gmail.com>2018-01-26 01:00:59 +0100
commit021b55f760f74d0d3f2054574df5336e6194b35a (patch)
treed3b0e141ee91f19709d2b6a7f93c440849e6b93a /src
parent0ee94d2b3b549aae526d5c7f4847525d2bd9faa7 (diff)
downloadandroid_packages_apps_Snap-021b55f760f74d0d3f2054574df5336e6194b35a.tar.gz
android_packages_apps_Snap-021b55f760f74d0d3f2054574df5336e6194b35a.tar.bz2
android_packages_apps_Snap-021b55f760f74d0d3f2054574df5336e6194b35a.zip
add support for luminance-condition parameter
Change-Id: Idf845a5f55abf9b72f61ac4bac59ee2258043482
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/CameraSettings.java4
-rw-r--r--src/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 ad3802861..b12a6bf3a 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -183,6 +183,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 30602269f..855ebc3d5 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1846,6 +1846,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();
+ }
+
try {
mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter");
}catch (NumberFormatException ex){
@@ -1896,6 +1903,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 b1d3e8c72..3d34a8020 100644
--- a/src/com/android/camera/util/CameraUtil.java
+++ b/src/com/android/camera/util/CameraUtil.java
@@ -1015,6 +1015,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: