summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/camera/CameraSettings.java28
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>();