diff options
author | Jack Yoo <jyoo@codeaurora.org> | 2016-06-07 09:57:52 -0700 |
---|---|---|
committer | Jack Yoo <jyoo@codeaurora.org> | 2016-07-07 09:40:37 -0700 |
commit | 12d17d80e1227e9164e7e0aa7524cd39d23bf124 (patch) | |
tree | 500f05111774dc3b7ad0b2f05a328149cd9f9a48 /src/com/android/camera/SettingsManager.java | |
parent | de98a47425d6f9b1ee017829f99d61ad0620266f (diff) | |
download | android_packages_apps_Snap-12d17d80e1227e9164e7e0aa7524cd39d23bf124.tar.gz android_packages_apps_Snap-12d17d80e1227e9164e7e0aa7524cd39d23bf124.tar.bz2 android_packages_apps_Snap-12d17d80e1227e9164e7e0aa7524cd39d23bf124.zip |
SnapdragonCamera: FrameListener and Video frame processor
Adding FrameListener with TrackingFocus
Adding VideoFrameProcessor with beautification
Change-Id: Id51a0417af43140ed27ea5859ff939adc2e78c43
CRs-Fixed: 1035245
Diffstat (limited to 'src/com/android/camera/SettingsManager.java')
-rw-r--r-- | src/com/android/camera/SettingsManager.java | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index 37976f190..b5ac8b3ee 100644 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -79,6 +79,7 @@ public class SettingsManager implements ListMenu.SettingsListener { public static final String KEY_FLASH_MODE = "pref_camera2_flashmode_key"; public static final String KEY_WHITE_BALANCE = "pref_camera2_whitebalance_key"; public static final String KEY_MAKEUP = "pref_camera2_makeup_key"; + public static final String KEY_TRACKINGFOCUS = "pref_camera2_trackingfocus_key"; public static final String KEY_CAMERA2 = "pref_camera2_camera2_key"; public static final String KEY_MONO_ONLY = "pref_camera2_mono_only_key"; public static final String KEY_MONO_PREVIEW = "pref_camera2_mono_preview_key"; @@ -219,6 +220,17 @@ public class SettingsManager implements ListMenu.SettingsListener { filterPreferences(cameraId); initDepedencyTable(); initializeValueMap(); + checkInitialDependency(cameraId); + } + + private void checkInitialDependency(int cameraId) { + ListPreference videoQuality = mPreferenceGroup.findPreference(KEY_VIDEO_QUALITY); + if (videoQuality != null) { + String scene = getValue(SettingsManager.KEY_MAKEUP); + if(scene != null && scene.equalsIgnoreCase("on")) { + updateVideoQualityMenu(cameraId, 640, 480); + } + } } private void initDepedencyTable() { @@ -447,6 +459,20 @@ public class SettingsManager implements ListMenu.SettingsListener { else return CaptureModule.MONO_ID; } + public void updateVideoQualityMenu(int cameraId, int maxWidth, int maxHeight) { + ListPreference videoQuality = mPreferenceGroup.findPreference(KEY_VIDEO_QUALITY); + if (videoQuality != null) { + List<String> sizes; + if(maxWidth < 0 && maxHeight < 0) { + sizes = getSupportedVideoSize(cameraId); + } else { + sizes = getSupportedVideoSize(cameraId, maxWidth, maxHeight); + } + CameraSettings.filterUnsupportedOptions(mPreferenceGroup, + videoQuality, sizes); + } + } + private void filterPreferences(int cameraId) { // filter unsupported preferences ListPreference whiteBalance = mPreferenceGroup.findPreference(KEY_WHITE_BALANCE); @@ -502,7 +528,7 @@ public class SettingsManager implements ListMenu.SettingsListener { iso, getSupportedIso(cameraId)); } - if (iso != null) { + if (videoQuality != null) { CameraSettings.filterUnsupportedOptions(mPreferenceGroup, videoQuality, getSupportedVideoSize(cameraId)); } @@ -754,6 +780,19 @@ public class SettingsManager implements ListMenu.SettingsListener { return res; } + private List<String> getSupportedVideoSize(int cameraId, int maxWidth, int maxHeight) { + StreamConfigurationMap map = mCharacteristics.get(cameraId).get( + CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); + Size[] sizes = map.getOutputSizes(MediaRecorder.class); + List<String> res = new ArrayList<>(); + for (int i = 0; i < sizes.length; i++) { + if(sizes[i].getWidth() <= maxWidth && sizes[i].getHeight() <= maxHeight) { + res.add(sizes[i].toString()); + } + } + return res; + } + private List<String> getSupportedRedeyeReduction(int cameraId) { int[] flashModes = mCharacteristics.get(cameraId).get(CameraCharacteristics .CONTROL_AE_AVAILABLE_MODES); |