diff options
author | Byunghun Jeon <bjeon@codeaurora.org> | 2016-05-24 16:53:56 -0700 |
---|---|---|
committer | Byunghun Jeon <bjeon@codeaurora.org> | 2016-06-09 10:41:33 -0700 |
commit | 2256df6faca5ac16e37f5d0b076fb72fdc8c327b (patch) | |
tree | 7a3bf5f490458e4f124d9aaf50fb54879a4b2315 /src/com/android/camera/SettingsManager.java | |
parent | 96e5d34d383a6e22470e9dcead71e009d42bc6bd (diff) | |
download | android_packages_apps_Snap-2256df6faca5ac16e37f5d0b076fb72fdc8c327b.tar.gz android_packages_apps_Snap-2256df6faca5ac16e37f5d0b076fb72fdc8c327b.tar.bz2 android_packages_apps_Snap-2256df6faca5ac16e37f5d0b076fb72fdc8c327b.zip |
SnapdragonCamera: Add redeye reduction
Add redeye reduction to Camera2
Change-Id: Iae4beb9287a0a927330ba987238fac6a2dae058e
CRs-Fixed: 1018118
Diffstat (limited to 'src/com/android/camera/SettingsManager.java')
-rw-r--r-- | src/com/android/camera/SettingsManager.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index f3a228562..3a5f6f705 100644 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -36,6 +36,7 @@ import android.graphics.Rect; import android.hardware.camera2.CameraAccessException; import android.hardware.camera2.CameraCharacteristics; import android.hardware.camera2.CameraManager; +import android.hardware.camera2.CameraMetadata; import android.hardware.camera2.params.StreamConfigurationMap; import android.util.Log; import android.util.Range; @@ -491,6 +492,7 @@ public class SettingsManager implements ListMenu.SettingsListener { ListPreference clearsight = mPreferenceGroup.findPreference(KEY_CLEARSIGHT); ListPreference monoPreview = mPreferenceGroup.findPreference(KEY_MONO_PREVIEW); ListPreference monoOnly = mPreferenceGroup.findPreference(KEY_MONO_ONLY); + ListPreference redeyeReduction = mPreferenceGroup.findPreference(KEY_REDEYE_REDUCTION); if (whiteBalance != null) { CameraSettings.filterUnsupportedOptions(mPreferenceGroup, @@ -529,7 +531,11 @@ public class SettingsManager implements ListMenu.SettingsListener { if (clearsight != null) removePreference(mPreferenceGroup, KEY_CLEARSIGHT); if (monoPreview != null) removePreference(mPreferenceGroup, KEY_MONO_PREVIEW); if (monoOnly != null) removePreference(mPreferenceGroup, KEY_MONO_ONLY); + } + if (redeyeReduction != null) { + CameraSettings.filterUnsupportedOptions(mPreferenceGroup, + redeyeReduction, getSupportedRedeyeReduction(cameraId)); } } @@ -682,6 +688,20 @@ public class SettingsManager implements ListMenu.SettingsListener { return res; } + private List<String> getSupportedRedeyeReduction(int cameraId) { + int[] flashModes = mCharacteristics.get(cameraId).get(CameraCharacteristics + .CONTROL_AE_AVAILABLE_MODES); + List<String> modes = new ArrayList<>(); + for (int i = 0; i < flashModes.length; i++) { + if (flashModes[i] == CameraMetadata.CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE) { + modes.add("disable"); + modes.add("enable"); + break; + } + } + return modes; + } + private List<String> getSupportedWhiteBalanceModes(int cameraId) { int[] whiteBalanceModes = mCharacteristics.get(cameraId).get(CameraCharacteristics .CONTROL_AWB_AVAILABLE_MODES); |