From 3512531b2ce62b56900affadb5dae1172ffba2d8 Mon Sep 17 00:00:00 2001 From: Sai Kumar Sanagavarapu Date: Fri, 16 May 2014 19:42:48 +0530 Subject: Camera2: Query support for longshot and ZSL+HDR from parameters. Query camera parameters to check if longshot and ZSL+HDR are supported or not. Also, add generic way of enabling/disabling preferences to facilitate features which are mutually exclusive. Change-Id: I4332e3d5050f56b1953e4c0d767eb87f7e932c49 --- src/com/android/camera/CameraSettings.java | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/com/android/camera/CameraSettings.java') diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 243a1ff8f..c70ee9909 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -122,6 +122,8 @@ public class CameraSettings { public static final String KEY_QC_DIS_MODE = "dis"; 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"; private static final String TRUE = "true"; private static final String FALSE = "false"; @@ -348,6 +350,7 @@ public class CameraSettings { ListPreference videoHdr = group.findPreference(KEY_VIDEO_HDR); ListPreference pictureFormat = group.findPreference(KEY_PICTURE_FORMAT); ListPreference hfr = group.findPreference(KEY_VIDEO_HIGH_FRAME_RATE); + ListPreference longShot = group.findPreference(KEY_LONGSHOT); if (touchAfAec != null) { filterUnsupportedOptions(group, @@ -435,6 +438,9 @@ public class CameraSettings { filterUnsupportedOptions(group, advancedFeatures, getSupportedAdvancedFeatures(mParameters)); } + if (longShot!= null && !isLongshotSupported(mParameters)) { + removePreference(group, longShot.getKey()); + } } private void initPreference(PreferenceGroup group) { ListPreference videoQuality = group.findPreference(KEY_VIDEO_QUALITY); @@ -898,4 +904,26 @@ public class CameraSettings { } return ret; } + + public static boolean isLongshotSupported(Parameters params) { + boolean ret = false; + if (null != params) { + String val = params.get(KEY_QC_LONGSHOT_SUPPORTED); + if ((null != val) && (TRUE.equals(val))) { + ret = true; + } + } + return ret; + } + + public static boolean isZSLHDRSupported(Parameters params) { + boolean ret = false; + if (null != params) { + String val = params.get(KEY_QC_ZSL_HDR_SUPPORTED); + if ((null != val) && (TRUE.equals(val))) { + ret = true; + } + } + return ret; + } } -- cgit v1.2.3