diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2014-08-22 05:38:27 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-08-22 05:38:27 -0700 |
commit | 6f206ce30f7c7ebb379488499b006a5da7a6e7c4 (patch) | |
tree | e296310c98375ba72446e265124061d4645d22f7 | |
parent | e555fbea47a6e9abd2485ab618be498b8dabdad3 (diff) | |
parent | c559299ddc350be60621e99c9f7fac5ee440c909 (diff) | |
download | android_packages_apps_Snap-6f206ce30f7c7ebb379488499b006a5da7a6e7c4.tar.gz android_packages_apps_Snap-6f206ce30f7c7ebb379488499b006a5da7a6e7c4.tar.bz2 android_packages_apps_Snap-6f206ce30f7c7ebb379488499b006a5da7a6e7c4.zip |
Merge "SnapdragonCamera: Make panorama frame size configurable"
-rw-r--r-- | res/values/config.xml | 4 | ||||
-rw-r--r-- | src/com/android/camera/WideAnglePanoramaModule.java | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/res/values/config.xml b/res/values/config.xml index 33e1e146b..24f790c4e 100644 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -19,4 +19,8 @@ <resources> <!-- Maximum recording length in milliseconds. 0 means unlimited. --> <integer name="max_video_recording_length">0</integer> + + <!-- This value may be tweaked to save memory on low RAM devices. The value + is the percentage of camera preview height/width to scale to. --> + <integer name="panorama_frame_size_reduction">100</integer> </resources> diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java index 225981808..4594b2ac6 100644 --- a/src/com/android/camera/WideAnglePanoramaModule.java +++ b/src/com/android/camera/WideAnglePanoramaModule.java @@ -16,6 +16,7 @@ package com.android.camera; +import android.app.ActivityManager; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; @@ -811,8 +812,15 @@ public class WideAnglePanoramaModule return; } - mMosaicFrameProcessor.initialize( - mCameraPreviewWidth, mCameraPreviewHeight, getPreviewBufSize()); + int perct = 100; + final ActivityManager am = (ActivityManager) + mActivity.getSystemService(Context.ACTIVITY_SERVICE); + if (am.isLowRamDevice()) { + perct = mActivity.getResources().getInteger(R.integer.panorama_frame_size_reduction); + } + + mMosaicFrameProcessor.initialize(mCameraPreviewWidth * perct / 100, + mCameraPreviewHeight * perct / 100, getPreviewBufSize()); mMosaicFrameProcessorInitialized = true; } |