summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSanthosh Kumar H E <skhara@codeaurora.org>2014-10-16 11:20:34 +0530
committerSanthosh Kumar H E <skhara@codeaurora.org>2014-10-16 11:20:34 +0530
commit823c8f4379320c407b5193540246bb8ac0f57ee6 (patch)
tree27552dda09e3b59adfca91e3306e39dc36dd3b3a /src
parentd7810337255f08f3c89e2fb02ca393fc2997ca8d (diff)
downloadandroid_packages_apps_Snap-823c8f4379320c407b5193540246bb8ac0f57ee6.tar.gz
android_packages_apps_Snap-823c8f4379320c407b5193540246bb8ac0f57ee6.tar.bz2
android_packages_apps_Snap-823c8f4379320c407b5193540246bb8ac0f57ee6.zip
Camera2: Do not restart preview to update flip params on new orientation
When there was a orientation change flip paramter had to be changed. Currently all parameters are set again and preview is being restarted. so preview will not be smooth when user rotae the device. This change makes sure only necessary params are updated and preview will not be restarted. CRs-Fixed: 710129 Change-Id: I564431ef8cedaf68c9d12e2a84a3a430c845ab6d
Diffstat (limited to 'src')
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java23
-rwxr-xr-xsrc/com/android/camera/VideoModule.java96
2 files changed, 67 insertions, 52 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index eee1110b1..a16033506 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1700,7 +1700,8 @@ public class PhotoModule
if (oldOrientation != mOrientation) {
Log.v(TAG, "onOrientationChanged, update parameters");
if (mParameters != null && mCameraDevice != null) {
- onSharedPreferenceChanged();
+ setFlipValue();
+ mCameraDevice.setParameters(mParameters);
}
}
@@ -2886,6 +2887,18 @@ public class PhotoModule
mCameraDevice.setHistogramMode(null);
}
}
+
+ setFlipValue();
+
+ /* Disable focus if aebracket is ON */
+ String aeBracket = mParameters.get(CameraSettings.KEY_QC_AE_BRACKETING);
+ if (!aeBracket.equalsIgnoreCase("off")) {
+ String fMode = Parameters.FLASH_MODE_OFF;
+ mParameters.setFlashMode(fMode);
+ }
+ }
+
+ private void setFlipValue() {
// Read Flip mode from adb command
//value: 0(default) - FLIP_MODE_OFF
//value: 1 - FLIP_MODE_H
@@ -2928,14 +2941,8 @@ public class PhotoModule
if(CameraUtil.isSupported(picture_flip, CameraSettings.getSupportedFlipMode(mParameters))){
mParameters.set(CameraSettings.KEY_QC_SNAPSHOT_PICTURE_FLIP, picture_flip);
}
- /* Disable focus if aebracket is ON */
- String aeBracket = mParameters.get(CameraSettings.KEY_QC_AE_BRACKETING);
- if (!aeBracket.equalsIgnoreCase("off")) {
- String fMode = Parameters.FLASH_MODE_OFF;
- mUI.overrideSettings(CameraSettings.KEY_FLASH_MODE, fMode);
- mParameters.setFlashMode(fMode);
- }
}
+
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private void setAutoExposureLockIfSupported() {
if (mAeLockSupported) {
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index 226e50398..dda9ba27b 100755
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -565,8 +565,10 @@ public class VideoModule implements CameraModule,
if (mOrientation != newOrientation) {
mOrientation = newOrientation;
Log.v(TAG, "onOrientationChanged, update parameters");
- if ((mParameters != null) && (true == mPreviewing) && !mMediaRecorderRecording){
- setCameraParameters();
+ if ((mCameraDevice != null) && (mParameters != null)
+ && (true == mPreviewing) && !mMediaRecorderRecording){
+ setFlipValue();
+ mCameraDevice.setParameters(mParameters);
}
}
@@ -1919,6 +1921,53 @@ public class VideoModule implements CameraModule,
return supported == null ? false : supported.indexOf(value) >= 0;
}
+ private void setFlipValue() {
+
+ // Read Flip mode from adb command
+ //value: 0(default) - FLIP_MODE_OFF
+ //value: 1 - FLIP_MODE_H
+ //value: 2 - FLIP_MODE_V
+ //value: 3 - FLIP_MODE_VH
+ int preview_flip_value = SystemProperties.getInt("debug.camera.preview.flip", 0);
+ int video_flip_value = SystemProperties.getInt("debug.camera.video.flip", 0);
+ int picture_flip_value = SystemProperties.getInt("debug.camera.picture.flip", 0);
+ int rotation = CameraUtil.getJpegRotation(mCameraId, mOrientation);
+ mParameters.setRotation(rotation);
+ if (rotation == 90 || rotation == 270) {
+ // in case of 90 or 270 degree, V/H flip should reverse
+ if (preview_flip_value == 1) {
+ preview_flip_value = 2;
+ } else if (preview_flip_value == 2) {
+ preview_flip_value = 1;
+ }
+ if (video_flip_value == 1) {
+ video_flip_value = 2;
+ } else if (video_flip_value == 2) {
+ video_flip_value = 1;
+ }
+ if (picture_flip_value == 1) {
+ picture_flip_value = 2;
+ } else if (picture_flip_value == 2) {
+ picture_flip_value = 1;
+ }
+ }
+ String preview_flip = CameraUtil.getFilpModeString(preview_flip_value);
+ String video_flip = CameraUtil.getFilpModeString(video_flip_value);
+ String picture_flip = CameraUtil.getFilpModeString(picture_flip_value);
+
+ if(CameraUtil.isSupported(preview_flip, CameraSettings.getSupportedFlipMode(mParameters))){
+ mParameters.set(CameraSettings.KEY_QC_PREVIEW_FLIP, preview_flip);
+ }
+ if(CameraUtil.isSupported(video_flip, CameraSettings.getSupportedFlipMode(mParameters))){
+ mParameters.set(CameraSettings.KEY_QC_VIDEO_FLIP, video_flip);
+ }
+ if(CameraUtil.isSupported(picture_flip, CameraSettings.getSupportedFlipMode(mParameters))){
+ mParameters.set(CameraSettings.KEY_QC_SNAPSHOT_PICTURE_FLIP, picture_flip);
+ }
+
+
+ }
+
private void qcomSetCameraParameters(){
// add QCOM Parameters here
// Set color effect parameter.
@@ -2058,48 +2107,7 @@ public class VideoModule implements CameraModule,
mParameters.setVideoHighFrameRate("off");
mParameters.set(CameraSettings.KEY_VIDEO_HSR, "off");
}
-
- // Read Flip mode from adb command
- //value: 0(default) - FLIP_MODE_OFF
- //value: 1 - FLIP_MODE_H
- //value: 2 - FLIP_MODE_V
- //value: 3 - FLIP_MODE_VH
- int preview_flip_value = SystemProperties.getInt("debug.camera.preview.flip", 0);
- int video_flip_value = SystemProperties.getInt("debug.camera.video.flip", 0);
- int picture_flip_value = SystemProperties.getInt("debug.camera.picture.flip", 0);
- int rotation = CameraUtil.getJpegRotation(mCameraId, mOrientation);
- mParameters.setRotation(rotation);
- if (rotation == 90 || rotation == 270) {
- // in case of 90 or 270 degree, V/H flip should reverse
- if (preview_flip_value == 1) {
- preview_flip_value = 2;
- } else if (preview_flip_value == 2) {
- preview_flip_value = 1;
- }
- if (video_flip_value == 1) {
- video_flip_value = 2;
- } else if (video_flip_value == 2) {
- video_flip_value = 1;
- }
- if (picture_flip_value == 1) {
- picture_flip_value = 2;
- } else if (picture_flip_value == 2) {
- picture_flip_value = 1;
- }
- }
- String preview_flip = CameraUtil.getFilpModeString(preview_flip_value);
- String video_flip = CameraUtil.getFilpModeString(video_flip_value);
- String picture_flip = CameraUtil.getFilpModeString(picture_flip_value);
-
- if(CameraUtil.isSupported(preview_flip, CameraSettings.getSupportedFlipMode(mParameters))){
- mParameters.set(CameraSettings.KEY_QC_PREVIEW_FLIP, preview_flip);
- }
- if(CameraUtil.isSupported(video_flip, CameraSettings.getSupportedFlipMode(mParameters))){
- mParameters.set(CameraSettings.KEY_QC_VIDEO_FLIP, video_flip);
- }
- if(CameraUtil.isSupported(picture_flip, CameraSettings.getSupportedFlipMode(mParameters))){
- mParameters.set(CameraSettings.KEY_QC_SNAPSHOT_PICTURE_FLIP, picture_flip);
- }
+ setFlipValue();
// Set video CDS
String video_cds = mPreferences.getString(