Use setPreviewFpsRange instead.
Change-Id: I58f6af667fd906221b67b8a4827d7a67c567e20a
diff --git a/src/com/android/camera/NewPhotoModule.java b/src/com/android/camera/NewPhotoModule.java
index f3eac3d..76bcbbe 100644
--- a/src/com/android/camera/NewPhotoModule.java
+++ b/src/com/android/camera/NewPhotoModule.java
@@ -1595,10 +1595,11 @@
private void updateCameraParametersInitialize() {
// Reset preview frame rate to the maximum because it may be lowered by
// video camera application.
- List<Integer> frameRates = mParameters.getSupportedPreviewFrameRates();
- if (frameRates != null) {
- Integer max = Collections.max(frameRates);
- mParameters.setPreviewFrameRate(max);
+ int[] frameRates = Util.getMaxPreviewFpsRange(mParameters);
+ if (fpsRange.length > 0) {
+ mParameters.setPreviewFpsRange(
+ fpsRange[Parameters.PREVIEW_FPS_MIN_INDEX],
+ fpsRange[Parameters.PREVIEW_FPS_MAX_INDEX]);
}
mParameters.set(Util.RECORDING_HINT, Util.FALSE);
diff --git a/src/com/android/camera/NewVideoModule.java b/src/com/android/camera/NewVideoModule.java
index 793cc53..188a389 100644
--- a/src/com/android/camera/NewVideoModule.java
+++ b/src/com/android/camera/NewVideoModule.java
@@ -1764,7 +1764,14 @@
@SuppressWarnings("deprecation")
private void setCameraParameters() {
mParameters.setPreviewSize(mDesiredPreviewWidth, mDesiredPreviewHeight);
- mParameters.setPreviewFrameRate(mProfile.videoFrameRate);
+ int[] fpsRange = Util.getMaxPreviewFpsRange(mParameters);
+ if (fpsRange.length > 0) {
+ mParameters.setPreviewFpsRange(
+ fpsRange[Parameters.PREVIEW_FPS_MIN_INDEX],
+ fpsRange[Parameters.PREVIEW_FPS_MAX_INDEX]);
+ } else {
+ mParameters.setPreviewFrameRate(mProfile.videoFrameRate);
+ }
// Set flash mode.
String flashMode;
diff --git a/src/com/android/camera/Util.java b/src/com/android/camera/Util.java
index 6c3b364..3a0b619 100644
--- a/src/com/android/camera/Util.java
+++ b/src/com/android/camera/Util.java
@@ -746,6 +746,16 @@
}
}
+
+ public static int[] getMaxPreviewFpsRange(Parameters params) {
+ List<int[]> frameRates = params.getSupportedPreviewFpsRange();
+ if (frameRates != null && frameRates.size() > 0) {
+ // The list is sorted. Return the last element.
+ return frameRates.get(frameRates.size() - 1);
+ }
+ return new int[0];
+ }
+
private static class ImageFileNamer {
private SimpleDateFormat mFormat;