diff options
author | Steve Kondik <steve@cyngn.com> | 2016-11-21 16:57:02 -0800 |
---|---|---|
committer | Michael Bestas <mikeioannina@gmail.com> | 2017-01-04 22:00:44 +0200 |
commit | 392d19ac46cedac5eec2d7de4c3da6758ae5f7b9 (patch) | |
tree | 42709bbad0cd204cd22c6cdaf4ffd47cc65e8b7e /src/com/android/camera | |
parent | ebe7e67282fe66b03fccadc11d65890fe3f1a628 (diff) | |
download | android_packages_apps_Snap-392d19ac46cedac5eec2d7de4c3da6758ae5f7b9.tar.gz android_packages_apps_Snap-392d19ac46cedac5eec2d7de4c3da6758ae5f7b9.tar.bz2 android_packages_apps_Snap-392d19ac46cedac5eec2d7de4c3da6758ae5f7b9.zip |
snap: Panorama fixes
* Fix animations and transitions
* Disable warped preview overlay, this looks terrible and needs
rewritten.
Change-Id: I9474219c57fc204dd16797aa8921296e61cc9d37
Diffstat (limited to 'src/com/android/camera')
-rw-r--r-- | src/com/android/camera/CameraActivity.java | 4 | ||||
-rw-r--r-- | src/com/android/camera/PanoProgressBar.java | 4 | ||||
-rw-r--r-- | src/com/android/camera/WideAnglePanoramaModule.java | 10 | ||||
-rw-r--r-- | src/com/android/camera/WideAnglePanoramaUI.java | 16 | ||||
-rw-r--r-- | src/com/android/camera/ui/CameraControls.java | 6 |
5 files changed, 24 insertions, 16 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index b0aad3640..21fe6516e 100644 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -2424,4 +2424,8 @@ public class CameraActivity extends Activity } public SettingsManager getSettingsManager() {return mSettingsManager;} + + public int getCurrentModuleIndex() { + return mCurrentModuleIndex; + } } diff --git a/src/com/android/camera/PanoProgressBar.java b/src/com/android/camera/PanoProgressBar.java index d20878a84..45f08a53e 100644 --- a/src/com/android/camera/PanoProgressBar.java +++ b/src/com/android/camera/PanoProgressBar.java @@ -142,7 +142,9 @@ class PanoProgressBar extends ImageView { // When user move to the opposite direction more than 10 degrees, // change the direction and stop the capture progress in PanoramaModule. if (Math.abs(mOldProgress) - Math.abs(progress) > 10) { - mListener.onDirectionChange(mDirection/2 + 1); + if (mListener != null) { + mListener.onDirectionChange(mDirection / 2 + 1); + } return; } // mDirection might be modified by setRightIncreasing() above. Need to check again. diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java index d7a3d54d4..59b71e06b 100644 --- a/src/com/android/camera/WideAnglePanoramaModule.java +++ b/src/com/android/camera/WideAnglePanoramaModule.java @@ -653,7 +653,7 @@ public class WideAnglePanoramaModule extends BaseModule<WideAnglePanoramaUI> imp mUI.showWaitingDialog(mPreparePreviewString); // Hide shutter button, shutter icon, etc when waiting for // panorama to stitch - mUI.hideUI(); + mUI.hideUI(true); runBackgroundThread(new Thread() { @Override public void run() { @@ -704,7 +704,6 @@ public class WideAnglePanoramaModule extends BaseModule<WideAnglePanoramaUI> imp } public void reportProgress() { - mUI.showUI(); mUI.resetSavingProgress(); Thread t = new Thread() { @Override @@ -1164,6 +1163,13 @@ public class WideAnglePanoramaModule extends BaseModule<WideAnglePanoramaUI> imp mCameraTexture.setOnFrameAvailableListener(this); mCameraDevice.setPreviewTexture(mCameraTexture); } + mCameraDevice.setOneShotPreviewCallback(mMainHandler, + new CameraManager.CameraPreviewDataCallback() { + @Override + public void onPreviewFrame(byte[] data, CameraProxy camera) { + mUI.hidePreviewCover(); + } + }); mCameraDevice.startPreview(); mCameraState = PREVIEW_ACTIVE; } diff --git a/src/com/android/camera/WideAnglePanoramaUI.java b/src/com/android/camera/WideAnglePanoramaUI.java index 19dd01b5b..548ef314f 100644 --- a/src/com/android/camera/WideAnglePanoramaUI.java +++ b/src/com/android/camera/WideAnglePanoramaUI.java @@ -92,7 +92,6 @@ public class WideAnglePanoramaUI extends BaseUI implements // Color definitions. private int mIndicatorColor; private int mIndicatorColorFast; - private int mReviewBackground; private SurfaceTexture mSurfaceTexture; private int mOrientation; @@ -137,6 +136,7 @@ public class WideAnglePanoramaUI extends BaseUI implements } public void showPreviewUI() { + Log.d(TAG, "showPreviewUI"); mCaptureLayout.setVisibility(View.VISIBLE); showUI(); } @@ -147,14 +147,6 @@ public class WideAnglePanoramaUI extends BaseUI implements hideDirectionIndicators(); } - public void onPreviewFocusChanged(boolean previewFocused) { - if (previewFocused) { - showUI(); - } else { - hideUI(); - } - } - public void setCaptureProgressOnDirectionChangeListener( PanoProgressBar.OnDirectionChangeListener listener) { mCaptureProgressBar.setOnDirectionChangeListener(listener); @@ -228,7 +220,6 @@ public class WideAnglePanoramaUI extends BaseUI implements mSurfaceTexture = surfaceTexture; mController.onPreviewUIReady(); mActivity.updateThumbnail(mThumbnail); - hidePreviewCover(); } @Override @@ -257,12 +248,15 @@ public class WideAnglePanoramaUI extends BaseUI implements } public void reset() { + Log.d(TAG, "reset"); mShutterButton.setImageResource(R.drawable.btn_new_shutter_panorama); mReviewLayout.setVisibility(View.GONE); mCaptureProgressBar.setVisibility(View.INVISIBLE); } public void saveFinalMosaic(Bitmap bitmap, int orientation) { + Log.d(TAG, "saveFinalMosaic"); + if (bitmap != null && orientation != 0) { Matrix rotateMatrix = new Matrix(); rotateMatrix.setRotate(orientation); @@ -386,7 +380,6 @@ public class WideAnglePanoramaUI extends BaseUI implements private void createContentView() { Resources appRes = mActivity.getResources(); mIndicatorColor = appRes.getColor(R.color.pano_progress_indication); - mReviewBackground = appRes.getColor(R.color.review_background); mIndicatorColorFast = appRes.getColor(R.color.pano_progress_indication_fast); mPreviewLayout = mRootView.findViewById(R.id.pano_preview_layout); @@ -414,7 +407,6 @@ public class WideAnglePanoramaUI extends BaseUI implements mShutterButton.addOnShutterButtonListener(this); // Hide menu mRootView.findViewById(R.id.menu).setVisibility(View.GONE); - mReview.setBackgroundColor(mReviewBackground); // TODO: set display change listener properly. ((CameraRootView) mRootView).setDisplayChangeListener(null); diff --git a/src/com/android/camera/ui/CameraControls.java b/src/com/android/camera/ui/CameraControls.java index 66bf4e010..1436390d3 100644 --- a/src/com/android/camera/ui/CameraControls.java +++ b/src/com/android/camera/ui/CameraControls.java @@ -461,7 +461,11 @@ public class CameraControls extends RotatableLayout { public void setPreviewRect(RectF rectL) { int r = CameraUtil.determineRatio(Math.round(rectL.width()), Math.round(rectL.height())); mPreviewRatio = r; - if (mPreviewRatio == CameraUtil.RATIO_4_3 && mTopMargin != 0) { + + boolean pano = ((CameraActivity) getContext()).getCurrentModuleIndex() == + ModuleSwitcher.WIDE_ANGLE_PANO_MODULE_INDEX; + + if (pano || (mPreviewRatio == CameraUtil.RATIO_4_3 && mTopMargin != 0)) { mBottomBar.setBackgroundResource(R.drawable.camera_controls_bg_opaque); } else { mBottomBar.setBackgroundResource(R.drawable.camera_controls_bg_translucent); |