summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2013-05-30 13:40:28 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-05-30 13:40:28 -0700
commit26b52f3c12169a5776f948a89bb0bcc900a0c356 (patch)
tree1d9fff87a51bcb024b52b8c725799d51248977e8 /src/com
parent4dbf12d1a01e400ccb4d6dc1a5bbc5ca1dfa178a (diff)
parent3fac84150826c68fbb1607f7151328ee4ad17f3c (diff)
downloadandroid_packages_apps_Gallery2-26b52f3c12169a5776f948a89bb0bcc900a0c356.tar.gz
android_packages_apps_Gallery2-26b52f3c12169a5776f948a89bb0bcc900a0c356.tar.bz2
android_packages_apps_Gallery2-26b52f3c12169a5776f948a89bb0bcc900a0c356.zip
am 3fac8415: am af65d7ba: Merge "Add HTC One picture resolutions" into gb-ub-photos-bryce
* commit '3fac84150826c68fbb1607f7151328ee4ad17f3c': Add HTC One picture resolutions
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/camera/PhotoModule.java25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 5b352719f..e88645d27 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1628,6 +1628,8 @@ public class PhotoModule
return; // Exiting, so no need to get the surface texture.
}
mUI.setSurfaceTexture(screenNail.getSurfaceTexture());
+ } else {
+ updatePreviewSize(screenNail);
}
mCameraDevice.setDisplayOrientation(mCameraDisplayOrientation);
Object st = mUI.getSurfaceTexture();
@@ -1649,6 +1651,21 @@ public class PhotoModule
}
}
+ private void updatePreviewSize(CameraScreenNail snail) {
+ Size size = mParameters.getPreviewSize();
+ int w = size.width;
+ int h = size.height;
+ if (mCameraDisplayOrientation % 180 != 0) {
+ w = size.height;
+ h = size.width;
+ }
+ if (snail.getWidth() != w || snail.getHeight() != h) {
+ snail.setSize(w, h);
+ }
+ snail.enableAspectRatioClamping();
+ mActivity.notifyScreenNailChanged();
+ }
+
@Override
public void stopPreview() {
if (mCameraDevice != null && mCameraState != PREVIEW_STOPPED) {
@@ -1742,10 +1759,14 @@ public class PhotoModule
Size original = mParameters.getPreviewSize();
if (!original.equals(optimalSize)) {
mParameters.setPreviewSize(optimalSize.width, optimalSize.height);
-
// Zoom related settings will be changed for different preview
// sizes, so set and read the parameters to get latest values
- mCameraDevice.setParameters(mParameters);
+ if (mHandler.getLooper() == Looper.myLooper()) {
+ // On UI thread only, not when camera starts up
+ setupPreview();
+ } else {
+ mCameraDevice.setParameters(mParameters);
+ }
mParameters = mCameraDevice.getParameters();
}
Log.v(TAG, "Preview size is " + optimalSize.width + "x" + optimalSize.height);