summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2016-01-10 15:36:41 +0100
committerMichael Bestas <mikeioannina@gmail.com>2017-01-04 21:57:43 +0200
commitb75ef4d4d0ea0015944d8a725fe018b3092b8514 (patch)
tree26ff6710149cb0267def26c54a89aa2ccd1ed244
parent32be5f674181025236fc284736c0cbceaf8742b6 (diff)
downloadandroid_packages_apps_Snap-b75ef4d4d0ea0015944d8a725fe018b3092b8514.tar.gz
android_packages_apps_Snap-b75ef4d4d0ea0015944d8a725fe018b3092b8514.tar.bz2
android_packages_apps_Snap-b75ef4d4d0ea0015944d8a725fe018b3092b8514.zip
Snap: support setting default preview resolution via overlay
Change-Id: I14c17aec6e5d582cc1f884eba40868a58cab1d03
-rw-r--r--res/values/config.xml6
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java56
2 files changed, 18 insertions, 44 deletions
diff --git a/res/values/config.xml b/res/values/config.xml
index 80b0d9215..a703bffaf 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -38,7 +38,11 @@
<!-- Restart preview for front camera onPictureTaken -->
<bool name="front_camera_restart_preview_onPictureTaken">false</bool>
- <!-- Set's manufacturer specific parameters on startup.
+ <!-- Force use a specific preview-size
+ Example: 1920x1080 -->
+ <string name="preview_size_for_photo"></string>
+
+ <!-- Set's manufacturer specific parameters on startup.
Example: lge-camera=1;cam-mode=0 -->
<string name="manufacturer_key_values"></string>
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index d03437df5..d43d8d31f 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -3845,49 +3845,19 @@ public class PhotoModule
Size optimalSize = CameraUtil.getOptimalPreviewSize(mActivity, sizes,
(double) size.width / size.height);
- //Read Preview Resolution from adb command
- //value: 0(default) - Default value as per snapshot aspect ratio
- //value: 1 - 640x480
- //value: 2 - 720x480
- //value: 3 - 1280x720
- //value: 4 - 1920x1080
- //value: 5 - 2560x1440
- int preview_resolution = SystemProperties.getInt("persist.camera.preview.size", 0);
- switch (preview_resolution) {
- case 1: {
- optimalSize.width = 640;
- optimalSize.height = 480;
- Log.v(TAG, "Preview resolution hardcoded to 640x480");
- break;
- }
- case 2: {
- optimalSize.width = 720;
- optimalSize.height = 480;
- Log.v(TAG, "Preview resolution hardcoded to 720x480");
- break;
- }
- case 3: {
- optimalSize.width = 1280;
- optimalSize.height = 720;
- Log.v(TAG, "Preview resolution hardcoded to 1280x720");
- break;
- }
- case 4: {
- optimalSize.width = 1920;
- optimalSize.height = 1080;
- Log.v(TAG, "Preview resolution hardcoded to 1920x1080");
- break;
- }
- case 5: {
- optimalSize.width = 2560;
- optimalSize.height = 1440;
- Log.v(TAG, "Preview resolution hardcoded to 2560x1440");
- break;
- }
- default: {
- Log.v(TAG, "Preview resolution as per Snapshot aspect ratio");
- break;
- }
+ // Get default preview resolution from overlay
+ String previewSizeForPhoto =
+ mApplicationContext.getResources().getString(R.string.preview_size_for_photo);
+ try {
+ android.util.Size previewSize = android.util.Size.parseSize(previewSizeForPhoto);
+
+ optimalSize.width = previewSize.getWidth();
+ optimalSize.height = previewSize.getHeight();
+ Log.v(TAG, "Preview resolution hardcoded to " + optimalSize.width + "x" + optimalSize.height);
+ } catch (NumberFormatException e) {
+ Log.e(TAG, "Invalid preview resolution: " + previewSizeForPhoto);
+ } catch (NullPointerException e) {
+ Log.v(TAG, "No default preview resolution given");
}
Size original = mParameters.getPreviewSize();