From cef16d76d423dbdb426046ad5a339c32b9ac6f75 Mon Sep 17 00:00:00 2001 From: Jack Yoo Date: Mon, 22 Feb 2016 17:40:11 -0800 Subject: SnapdragonCamera: Adjusting view initialization Instead of removing and adding the entire root view, changing only core surface view on module change. Change-Id: I5c39cf23b2a58280f4e4e8484865bbed0b12e1cf CRs-Fixed: 979254 --- src/com/android/camera/VideoUI.java | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/com/android/camera/VideoUI.java') diff --git a/src/com/android/camera/VideoUI.java b/src/com/android/camera/VideoUI.java index 9a882e946..b920fff7a 100644 --- a/src/com/android/camera/VideoUI.java +++ b/src/com/android/camera/VideoUI.java @@ -130,13 +130,10 @@ public class VideoUI implements PieRenderer.PieListener, private float mSurfaceTextureUncroppedWidth; private float mSurfaceTextureUncroppedHeight; - private OnLayoutChangeListener mLayoutListener = new OnLayoutChangeListener() { - @Override - public void onLayoutChange(View v, int left, int top, int right, - int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { - tryToCloseSubList(); - } - }; + public enum SURFACE_STATUS { + HIDE, + SURFACE_VIEW; + } public void showPreviewCover() { mPreviewCover.setVisibility(View.VISIBLE); @@ -177,6 +174,14 @@ public class VideoUI implements PieRenderer.PieListener, } } + public synchronized void applySurfaceChange(SURFACE_STATUS status) { + if(status == SURFACE_STATUS.HIDE) { + mSurfaceView.setVisibility(View.GONE); + return; + } + mSurfaceView.setVisibility(View.VISIBLE); + } + public VideoUI(CameraActivity activity, VideoController controller, View parent) { mActivity = activity; mController = controller; @@ -190,9 +195,7 @@ public class VideoUI implements PieRenderer.PieListener, mSurfaceHolder = mSurfaceView.getHolder(); mSurfaceHolder.addCallback(this); mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); - mSurfaceView.addOnLayoutChangeListener(mLayoutListener); Log.v(TAG, "Using mdp_preview_content (MDP path)"); - View surfaceContainer = mRootView.findViewById(R.id.preview_container); surfaceContainer.addOnLayoutChangeListener(new OnLayoutChangeListener() { @Override @@ -202,6 +205,7 @@ public class VideoUI implements PieRenderer.PieListener, int width = right - left; int height = bottom - top; + tryToCloseSubList(); if (mMaxPreviewWidth == 0 && mMaxPreviewHeight == 0) { mMaxPreviewWidth = width; mMaxPreviewHeight = height; -- cgit v1.2.3