summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2016-01-05 23:54:52 +0100
committerChippa-a <vusal1372@gmail.com>2019-10-25 15:55:25 +0300
commitaae0bf033f46cd7283e7324c02788083fc8c1f4a (patch)
treeed0f36c2a5114209a8c1e24993df06e44ddedbc3
parent48f1034a84683a07b5e529d469b369839387fce6 (diff)
downloadandroid_packages_apps_Snap-aae0bf033f46cd7283e7324c02788083fc8c1f4a.tar.gz
android_packages_apps_Snap-aae0bf033f46cd7283e7324c02788083fc8c1f4a.tar.bz2
android_packages_apps_Snap-aae0bf033f46cd7283e7324c02788083fc8c1f4a.zip
Snap: Add support for luminance-condition parameter
Author: codeworkx <codeworkx@cyanogenmod.org> Date: Tue Jan 5 23:54:52 2016 +0100 add support for luminance-condition parameter Change-Id: Idf845a5f55abf9b72f61ac4bac59ee2258043482 Author: codeworkx <codeworkx@cyanogenmod.org> Date: Sun Feb 21 11:17:12 2016 +0100 Snap: fix camera hang on LGE G4 when flash got used Change-Id: I23e53333a0bbe2a12e64e87ec8594aeaa503e9fc Change-Id: If1c2cd9dd253d6342de241b381152a759e8d3f05
-rwxr-xr-xsrc/com/android/camera/CameraSettings.java4
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java18
-rwxr-xr-xsrc/com/android/camera/util/CameraUtil.java14
3 files changed, 36 insertions, 0 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index cf91b9a7d..d04a1aa7b 100755
--- 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_CONDITION = "luminance-condition";
+ public static final String LUMINANCE_CONDITION_LOW = "low";
+ public static final String LUMINANCE_CONDITION_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 2d0422a2c..b82490927 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1734,6 +1734,13 @@ public class PhotoModule
mParameters = mCameraDevice.getParameters();
}
+ // LGE G4: Disable HDR if luminance is low and flash gets 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){
@@ -1782,6 +1789,17 @@ public class PhotoModule
mRawPictureCallback, mPostViewPictureCallback,
new JpegPictureCallback(loc));
setCameraState(SNAPSHOT_IN_PROGRESS);
+
+ // LGE G4: Preview needs to be restarted when flash gets used
+ if (CameraUtil.isSupported(mParameters, CameraSettings.KEY_LUMINANCE_CONDITION)) {
+ String flashMode = mPreferences.getString(CameraSettings.KEY_FLASH_MODE,
+ mActivity.getString(R.string.pref_camera_flashmode_default));
+ if (flashMode.equals(Parameters.FLASH_MODE_ON) ||
+ (!flashMode.equals(Parameters.FLASH_MODE_OFF) &&
+ 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 3b34519a5..32db13306 100755
--- a/src/com/android/camera/util/CameraUtil.java
+++ b/src/com/android/camera/util/CameraUtil.java
@@ -1108,6 +1108,20 @@ public class CameraUtil {
}
}
}
+
+ public static boolean isLowLuminance(Parameters parameters) {
+ String lC = parameters.get(CameraSettings.KEY_LUMINANCE_CONDITION);
+
+ if (lC != null) {
+ if (lC.equals(CameraSettings.LUMINANCE_CONDITION_LOW)) {
+ Log.d(TAG, "Parameter " + CameraSettings.KEY_LUMINANCE_CONDITION +
+ "=" + CameraSettings.LUMINANCE_CONDITION_LOW);
+ return true;
+ }
+ }
+ return false;
+ }
+
public static String getFilpModeString(int value){
switch(value){
case 0: