diff options
author | Alok Kediya <kediya@codeaurora.org> | 2013-09-28 16:23:35 +0530 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2013-10-31 19:39:24 -0600 |
commit | c862c8b5005e9325acc3f7511cb6136e7b77f720 (patch) | |
tree | ae7990832322dbeb98b8e405a08da09986f14a50 /src/com/android/camera/CameraSettings.java | |
parent | e111d53de4f9b40ef024deb8af7a0dc0f20e5398 (diff) | |
download | android_packages_apps_Snap-c862c8b5005e9325acc3f7511cb6136e7b77f720.tar.gz android_packages_apps_Snap-c862c8b5005e9325acc3f7511cb6136e7b77f720.tar.bz2 android_packages_apps_Snap-c862c8b5005e9325acc3f7511cb6136e7b77f720.zip |
Camera: Add support for setting AE Bracketing.
- This modification re-enables the AE bracketing UI
option and adds the necessary logic for parsing
and filtering the supported AE bracketing modes by
the camera.
(cherrypicked from commit 0b2b18f2a6b89da004db8c36420fc61f0e884290)
Change-Id: I5aea466eed9a3de4a899cced1e03c5177e57104b
Conflicts:
src/com/android/camera/CameraSettings.java
Conflicts:
src/com/android/camera/CameraSettings.java
(cherry picked from commit 8cd8e6797ed3ce856bb4d7771085e1678bea7f25)
(cherry picked from commit 24b84fd5855235b8710a625e42a0f2879cc1d898)
Diffstat (limited to 'src/com/android/camera/CameraSettings.java')
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 1049e54f9..e619c2aff 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -1,5 +1,4 @@ -/* - * Copyright (C) 2009 The Android Open Source Project +/* Copyright (C) 2009 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -39,6 +38,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; import android.os.Build; +import java.util.StringTokenizer; /** * Provides utilities and keys for Camera settings. @@ -98,7 +98,8 @@ public class CameraSettings { public static final String DEFAULT_VIDEO_QUALITY_VALUE = "custom"; public static final String KEY_SKIN_TONE_ENHANCEMENT = "pref_camera_skinToneEnhancement_key"; public static final String KEY_SKIN_TONE_ENHANCEMENT_FACTOR = "pref_camera_skinToneEnhancement_factor_key"; - + private static final String KEY_QC_SUPPORTED_AE_BRACKETING_MODES = "ae-bracket-hdr-values"; + public static final String KEY_QC_AE_BRACKETING = "ae-bracket-hdr"; private static final String VIDEO_QUALITY_HIGH = "high"; private static final String VIDEO_QUALITY_MMS = "mms"; private static final String VIDEO_QUALITY_YOUTUBE = "youtube"; @@ -197,7 +198,27 @@ public class CameraSettings { } return duration; } + public static List<String> getSupportedAEBracketingModes(Parameters params) { + String str = params.get(KEY_QC_SUPPORTED_AE_BRACKETING_MODES); + if (str == null) { + return null; + } + return split(str); + } + // Splits a comma delimited string to an ArrayList of String. + // Return null if the passing string is null or the size is 0. + private static ArrayList<String> split(String str) { + if (str == null) return null; + + // Use StringTokenizer because it is faster than split. + StringTokenizer tokenizer = new StringTokenizer(str, ","); + ArrayList<String> substrings = new ArrayList<String>(); + while (tokenizer.hasMoreElements()) { + substrings.add(tokenizer.nextToken()); + } + return substrings; + } private void qcomInitPreferences(PreferenceGroup group){ //Qcom Preference add here ListPreference powerMode = group.findPreference(KEY_POWER_MODE); @@ -216,7 +237,7 @@ public class CameraSettings { ListPreference histogram = group.findPreference(KEY_HISTOGRAM); ListPreference denoise = group.findPreference(KEY_DENOISE); ListPreference redeyeReduction = group.findPreference(KEY_REDEYE_REDUCTION); - ListPreference hdr = group.findPreference(KEY_AE_BRACKET_HDR); + ListPreference aeBracketing = group.findPreference(KEY_AE_BRACKET_HDR); ListPreference jpegQuality = group.findPreference(KEY_JPEG_QUALITY); ListPreference videoSnapSize = group.findPreference(KEY_VIDEO_SNAPSHOT_SIZE); ListPreference videoHdr = group.findPreference(KEY_VIDEO_HDR); @@ -257,6 +278,11 @@ public class CameraSettings { colorEffect, mParameters.getSupportedColorEffects()); } + if (aeBracketing != null) { + filterUnsupportedOptions(group, + aeBracketing, getSupportedAEBracketingModes(mParameters)); + } + if (antiBanding != null) { filterUnsupportedOptions(group, antiBanding, mParameters.getSupportedAntibanding()); |