summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera
diff options
context:
space:
mode:
authorDoris Liu <tianliu@google.com>2013-04-10 11:52:40 -0700
committerDoris Liu <tianliu@google.com>2013-04-11 17:12:56 -0700
commite11dffa6d4d34cd6754d58a245b867a13385945c (patch)
treeea6bb813a2d42145e7b1332b94961cf6105d2396 /src/com/android/camera
parent7c6140adb4ea219da3a45f5d69daae3f4340593a (diff)
downloadandroid_packages_apps_Snap-e11dffa6d4d34cd6754d58a245b867a13385945c.tar.gz
android_packages_apps_Snap-e11dffa6d4d34cd6754d58a245b867a13385945c.tar.bz2
android_packages_apps_Snap-e11dffa6d4d34cd6754d58a245b867a13385945c.zip
Fix ICS recording aspect ratio
Change-Id: I092a4303959b1b3cee870c891070e2605ab9e0b0
Diffstat (limited to 'src/com/android/camera')
-rw-r--r--src/com/android/camera/NewVideoUI.java46
1 files changed, 27 insertions, 19 deletions
diff --git a/src/com/android/camera/NewVideoUI.java b/src/com/android/camera/NewVideoUI.java
index 6dada60cd..a14dae3d3 100644
--- a/src/com/android/camera/NewVideoUI.java
+++ b/src/com/android/camera/NewVideoUI.java
@@ -139,7 +139,7 @@ public class NewVideoUI implements PieRenderer.PieListener,
mActivity.getLayoutInflater().inflate(R.layout.new_video_module, (ViewGroup) mRootView, true);
mTextureView = (TextureView) mRootView.findViewById(R.id.preview_content);
mTextureView.setSurfaceTextureListener(this);
- mTextureView.addOnLayoutChangeListener(mLayoutListener);
+ mRootView.addOnLayoutChangeListener(mLayoutListener);
mShutterButton = (ShutterButton) mRootView.findViewById(R.id.shutter_button);
mSwitcher = (CameraSwitcher) mRootView.findViewById(R.id.camera_switcher);
mSwitcher.setCurrentIndex(1);
@@ -253,6 +253,14 @@ public class NewVideoUI implements PieRenderer.PieListener,
scaleY = scaledTextureHeight / height;
mMatrix.setScale(scaleX, scaleY, (float) width / 2, (float) height / 2);
mTextureView.setTransform(mMatrix);
+
+ if (mSurfaceView != null && mSurfaceView.getVisibility() == View.VISIBLE) {
+ LayoutParams lp = (LayoutParams) mSurfaceView.getLayoutParams();
+ lp.width = (int) mSurfaceTextureUncroppedWidth;
+ lp.height = (int) mSurfaceTextureUncroppedHeight;
+ lp.gravity = Gravity.CENTER;
+ mSurfaceView.requestLayout();
+ }
}
public void hideUI() {
@@ -333,9 +341,9 @@ public class NewVideoUI implements PieRenderer.PieListener,
}
public void showSurfaceView() {
- // TODO: Need to transform the surface view
mSurfaceView.setVisibility(View.VISIBLE);
mTextureView.setVisibility(View.GONE);
+ setTransformMatrix(mPreviewWidth, mPreviewHeight);
}
private void initializeOverlay() {
@@ -499,23 +507,6 @@ public class NewVideoUI implements PieRenderer.PieListener,
mController.onSingleTapUp(view, x, y);
}
- // SurfaceView callback
- @Override
- public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
- Log.v(TAG, "Surface changed. width=" + width + ". height=" + height);
- }
-
- @Override
- public void surfaceCreated(SurfaceHolder holder) {
- Log.v(TAG, "Surface created");
- }
-
- @Override
- public void surfaceDestroyed(SurfaceHolder holder) {
- Log.v(TAG, "Surface destroyed");
- mController.stopPreview();
- }
-
public void showRecordingUI(boolean recording, boolean zoomSupported) {
mMenuButton.setVisibility(recording ? View.GONE : View.VISIBLE);
mOnScreenIndicators.setVisibility(recording ? View.GONE : View.VISIBLE);
@@ -689,6 +680,7 @@ public class NewVideoUI implements PieRenderer.PieListener,
return mSurfaceTexture;
}
+ // SurfaceTexture callbacks
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
synchronized (mLock) {
@@ -713,4 +705,20 @@ public class NewVideoUI implements PieRenderer.PieListener,
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
}
+ // SurfaceHolder callbacks
+ @Override
+ public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
+ Log.v(TAG, "Surface changed. width=" + width + ". height=" + height);
+ }
+
+ @Override
+ public void surfaceCreated(SurfaceHolder holder) {
+ Log.v(TAG, "Surface created");
+ }
+
+ @Override
+ public void surfaceDestroyed(SurfaceHolder holder) {
+ Log.v(TAG, "Surface destroyed");
+ mController.stopPreview();
+ }
}