summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher R. Palmer <crpalmer@gmail.com>2016-01-14 05:17:44 -0500
committerChippa-a <vusal1372@gmail.com>2019-10-25 15:55:25 +0300
commitdc784db9a78b17b3b4239f557a9bc0204a978724 (patch)
treeaf81d2d02e3e3727dc3fd72b2e30afffee17a2ae
parenta6399db52a9fcb3ff38975a7878b1f9df78c88e1 (diff)
downloadandroid_packages_apps_Snap-dc784db9a78b17b3b4239f557a9bc0204a978724.tar.gz
android_packages_apps_Snap-dc784db9a78b17b3b4239f557a9bc0204a978724.tar.bz2
android_packages_apps_Snap-dc784db9a78b17b3b4239f557a9bc0204a978724.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
-rwxr-xr-xsrc/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 d80cfae81..69d5529ba 100755
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -529,11 +529,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 a04dc3027..4c615bdb6 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -885,7 +885,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();
}