diff options
author | Camera Software Integration <camswint@localhost> | 2016-06-20 01:39:17 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-06-20 01:39:17 -0700 |
commit | fa90c56c1862fb0ce44181b357a2fb35e18dc5dd (patch) | |
tree | a9a66167accb7c356efc38bd859eb6796e5ecdf5 /src/com/android/camera/SettingsManager.java | |
parent | b32bae395de153fe2ee9ca865dad4f0873067a4f (diff) | |
parent | 2256df6faca5ac16e37f5d0b076fb72fdc8c327b (diff) | |
download | android_packages_apps_Snap-fa90c56c1862fb0ce44181b357a2fb35e18dc5dd.tar.gz android_packages_apps_Snap-fa90c56c1862fb0ce44181b357a2fb35e18dc5dd.tar.bz2 android_packages_apps_Snap-fa90c56c1862fb0ce44181b357a2fb35e18dc5dd.zip |
Merge "SnapdragonCamera: Add redeye reduction" into camera.lnx.1.0-dev.1.0
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 e06e5d3e9..247e55878 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; @@ -497,6 +498,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, @@ -535,7 +537,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)); } } @@ -698,6 +704,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); |