summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher R. Palmer <crpalmer@gmail.com>2016-01-14 05:17:44 -0500
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-01-15 09:06:52 -0800
commitdb2718622223b230618e9dae5b0c5d2eb4e68741 (patch)
tree0f5b6dbd4a0698b4e35a13ae104a814e837ccb60
parent2233950e703e2532b01f9f2893d9f7d8f5845cb1 (diff)
downloadandroid_packages_apps_Snap-db2718622223b230618e9dae5b0c5d2eb4e68741.zip
android_packages_apps_Snap-db2718622223b230618e9dae5b0c5d2eb4e68741.tar.gz
android_packages_apps_Snap-db2718622223b230618e9dae5b0c5d2eb4e68741.tar.bz2
Snap: Actually select the highest quality video by default
Prior to this commit Snap assumes that the HAL returns the list of supported video sizes in descending order of quality and simply picks the first one from the list as the default quality. Instead, find the first matching entry of pref_video_quality_entryvalues that the HAL indicated was supported. Change-Id: Ifea79e0e16a9015557539e098317536a32b9ff1f
-rw-r--r--src/com/android/camera/CameraSettings.java9
-rw-r--r--src/com/android/camera/VideoModule.java2
2 files changed, 9 insertions, 2 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index dbfdd04..148e1fc 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -380,11 +380,18 @@ public class CameraSettings {
}
public static String getSupportedHighestVideoQuality(
- int cameraId, Parameters parameters) {
+ Context context, int cameraId, Parameters parameters) {
// When launching the camera app first time, we will set the video quality
// to the first one (i.e. highest quality) in the supported list
List<String> supported = getSupportedVideoQualities(cameraId, parameters);
assert (supported != null) : "No supported video quality is found";
+ for (String candidate : context.getResources().getStringArray(
+ R.array.pref_video_quality_entryvalues)) {
+ if (supported.indexOf(candidate) >= 0) {
+ return candidate;
+ }
+ }
+ Log.w(TAG, "No supported video size matches, using the first reported size");
return supported.get(0);
}
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index c8efd47..0246d6b 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -865,7 +865,7 @@ public class VideoModule implements CameraModule,
} else {
// check for highest quality supported
videoQuality = CameraSettings.getSupportedHighestVideoQuality(
- mCameraId, mParameters);
+ mActivity, mCameraId, mParameters);
}
mPreferences.edit().putString(CameraSettings.KEY_VIDEO_QUALITY, videoQuality).apply();
}