diff options
author | Sai Kumar Sanagavarapu <ssanagav@codeaurora.org> | 2015-02-25 16:46:53 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-03-15 22:55:28 -0700 |
commit | 195fccbe69e92b0312822aa762bb53d301c0f56f (patch) | |
tree | 0bee9fd1c02adaf484a6a80cdbf96c1b2cd0c269 /src | |
parent | 1d373ecbf3276891a0d2d27a9f3eb736941046ad (diff) | |
download | android_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.java | 23 |
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 |