diff options
author | Christopher R. Palmer <crpalmer@gmail.com> | 2016-01-14 05:17:44 -0500 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2018-01-26 01:02:59 +0100 |
commit | 15d6dada913425a41f90989dab7804187dc3690e (patch) | |
tree | 6af894969f14eeba12a25e6bca285428571d0677 | |
parent | d65ab55fff3f20affe650a4b6a1477f9a7d845c0 (diff) | |
download | android_packages_apps_Snap-15d6dada913425a41f90989dab7804187dc3690e.tar.gz android_packages_apps_Snap-15d6dada913425a41f90989dab7804187dc3690e.tar.bz2 android_packages_apps_Snap-15d6dada913425a41f90989dab7804187dc3690e.zip |
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.java | 9 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 6a97895be..b2d409e7f 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -472,11 +472,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 db927c2a6..3df04b44a 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -886,7 +886,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(); } |