diff options
author | Doris Liu <tianliu@google.com> | 2013-04-12 16:47:05 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-04-12 16:47:06 +0000 |
commit | 14b553530417960d51ac173f09c2fbabf590cd81 (patch) | |
tree | 4e303a25bd382e7a8bb6a0acec4459a7aa7c35e2 | |
parent | 22596004f272da6b07b91d791540e9bb85ff5a17 (diff) | |
parent | e11dffa6d4d34cd6754d58a245b867a13385945c (diff) | |
download | android_packages_apps_Snap-14b553530417960d51ac173f09c2fbabf590cd81.tar.gz android_packages_apps_Snap-14b553530417960d51ac173f09c2fbabf590cd81.tar.bz2 android_packages_apps_Snap-14b553530417960d51ac173f09c2fbabf590cd81.zip |
Merge "Fix ICS recording aspect ratio" into gb-ub-photos-bryce
-rw-r--r-- | src/com/android/camera/NewVideoUI.java | 46 |
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(); + } } |