summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSai Kumar Sanagavarapu <ssanagav@codeaurora.org>2015-02-25 16:46:53 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2015-03-15 22:55:28 -0700
commit195fccbe69e92b0312822aa762bb53d301c0f56f (patch)
tree0bee9fd1c02adaf484a6a80cdbf96c1b2cd0c269 /src
parent1d373ecbf3276891a0d2d27a9f3eb736941046ad (diff)
downloadandroid_packages_apps_Snap-195fccbe69e92b0312822aa762bb53d301c0f56f.tar.gz
android_packages_apps_Snap-195fccbe69e92b0312822aa762bb53d301c0f56f.tar.bz2
android_packages_apps_Snap-195fccbe69e92b0312822aa762bb53d301c0f56f.zip
SnapdragonCamera: Enable low power mode in Camera.
Enable low power mode in camera usecase as well. Earlier its enabled only in camcorder mode. One exception in camera usecase where LPM is disabled is when flip (preview/snapshot/video) is enabled. Change-Id: I3e391345cac64b3dd8b7156fc98a806f4626d110
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/PhotoModule.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 72e0f3f4d..f0bb158e1 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -357,6 +357,9 @@ public class PhotoModule
private int mJpegFileSizeEstimation = 0;
private int mRemainingPhotos = -1;
+ //settings, which if enabled, need to turn off low power mode
+ private boolean mIsFlipEnabled = false;
+
private MediaSaveService.OnMediaSavedListener mOnMediaSavedListener =
new MediaSaveService.OnMediaSavedListener() {
@Override
@@ -1853,6 +1856,7 @@ public class PhotoModule
Log.v(TAG, "onOrientationChanged, update parameters");
if (mParameters != null && mCameraDevice != null) {
setFlipValue();
+ updatePowerMode();
mCameraDevice.setParameters(mParameters);
}
mUI.setOrientation(mOrientation, true);
@@ -3181,6 +3185,8 @@ public class PhotoModule
String fMode = Parameters.FLASH_MODE_OFF;
mParameters.setFlashMode(fMode);
}
+
+ updatePowerMode();
}
private int estimateJpegFileSize(final Size size, final String quality) {
@@ -3243,6 +3249,12 @@ public class PhotoModule
if(CameraUtil.isSupported(picture_flip, CameraSettings.getSupportedFlipMode(mParameters))){
mParameters.set(CameraSettings.KEY_QC_SNAPSHOT_PICTURE_FLIP, picture_flip);
}
+
+ if ((preview_flip_value != 0) || (video_flip_value != 0) || (picture_flip_value != 0)) {
+ mIsFlipEnabled = true;
+ } else {
+ mIsFlipEnabled = false;
+ }
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@@ -4300,6 +4312,17 @@ public class PhotoModule
public boolean isRefocus() {
return mLastPhotoTakenWithRefocus;
}
+
+ private void updatePowerMode() {
+ String lpmSupported = mParameters.get("low-power-mode-supported");
+ if ((lpmSupported != null) && "true".equals(lpmSupported)) {
+ if (!mIsFlipEnabled) {
+ mParameters.set("low-power-mode", "enable");
+ } else {
+ mParameters.set("low-power-mode", "disable");
+ }
+ }
+ }
}
/* Below is no longer needed, except to get rid of compile error