summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoris Liu <tianliu@google.com>2013-04-12 16:47:05 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-04-12 16:47:06 +0000
commit14b553530417960d51ac173f09c2fbabf590cd81 (patch)
tree4e303a25bd382e7a8bb6a0acec4459a7aa7c35e2
parent22596004f272da6b07b91d791540e9bb85ff5a17 (diff)
parente11dffa6d4d34cd6754d58a245b867a13385945c (diff)
downloadandroid_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.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();
+ }
}