summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2014-08-22 05:38:27 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2014-08-22 05:38:27 -0700
commit6f206ce30f7c7ebb379488499b006a5da7a6e7c4 (patch)
treee296310c98375ba72446e265124061d4645d22f7
parente555fbea47a6e9abd2485ab618be498b8dabdad3 (diff)
parentc559299ddc350be60621e99c9f7fac5ee440c909 (diff)
downloadandroid_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.xml4
-rw-r--r--src/com/android/camera/WideAnglePanoramaModule.java12
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;
}