summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/CameraSettings.java29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index b2d409e7f..5d7084a23 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -1058,9 +1058,9 @@ public class CameraSettings {
getSupportedSeeMoreModes(mParameters));
}
- if ((videoHfrMode != null) &&
- (ParametersWrapper.getSupportedHfrSizes(mParameters) == null)) {
- filterUnsupportedOptions(group, videoHfrMode, null);
+ if (videoHfrMode != null) {
+ filterUnsupportedOptions(group, videoHfrMode, getSupportedHighFrameRateModes(
+ mParameters));
}
if (videoQuality != null) {
@@ -1439,6 +1439,29 @@ public class CameraSettings {
initialCameraPictureSize(context, parameters);
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>();