diff options
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 18c286aa7..15480ed18 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -1011,9 +1011,9 @@ public class CameraSettings { getSupportedSeeMoreModes(mParameters)); } - if ((videoHfrMode != null) && - (mParameters.getSupportedHfrSizes() == null)) { - filterUnsupportedOptions(group, videoHfrMode, null); + if (videoHfrMode != null) { + filterUnsupportedOptions(group, videoHfrMode, getSupportedHighFrameRateModes( + mParameters)); } if (videoQuality != null) { @@ -1407,6 +1407,28 @@ public class CameraSettings { writePreferredCameraId(preferences, currentCameraId); } + public static List<String> getSupportedHighFrameRateModes(Parameters params) { + ArrayList<String> supported = new ArrayList<String>(); + List<String> supportedModes = params.getSupportedVideoHighFrameRateModes(); + String hsr = params.get(KEY_VIDEO_HSR); + + if (supportedModes == null) { + return null; + } + + for (String highFrameRateMode : supportedModes) { + if (highFrameRateMode.equals("off")) { + supported.add(highFrameRateMode); + } else { + supported.add("hfr" + highFrameRateMode); + if (hsr != null) { + supported.add("hsr" + highFrameRateMode); + } + } + } + return supported; + } + public static ArrayList<String> getSupportedVideoQualities(int cameraId, Parameters parameters) { ArrayList<String> supported = new ArrayList<String>(); |