From c559299ddc350be60621e99c9f7fac5ee440c909 Mon Sep 17 00:00:00 2001 From: Likai Ding Date: Tue, 8 Jul 2014 15:16:27 +0800 Subject: SnapdragonCamera: Make panorama frame size configurable For low RAM devices, allow reduction of the panorama frame size to save memory via the 'panorama_frame_size_reduction' config option. Change-Id: I26b98699341d5eedfe2ebe8a6ed417fe62933bd5 CRs-Fixed: 669381 --- res/values/config.xml | 4 ++++ 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 @@ 0 + + + 100 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; } -- cgit v1.2.3