summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/WideAnglePanoramaModule.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/WideAnglePanoramaModule.java')
-rw-r--r--src/com/android/camera/WideAnglePanoramaModule.java18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java
index 900951d96..e5ba57eb2 100644
--- a/src/com/android/camera/WideAnglePanoramaModule.java
+++ b/src/com/android/camera/WideAnglePanoramaModule.java
@@ -151,6 +151,7 @@ public class WideAnglePanoramaModule
private ComboPreferences mPreferences;
private boolean mMosaicPreviewConfigured;
private boolean mPreviewFocused = true;
+ private boolean mPreviewLayoutChanged = false;
@Override
public void onPreviewUIReady() {
@@ -205,6 +206,7 @@ public class WideAnglePanoramaModule
}
if (oldOrientation != mDeviceOrientation
&& oldOrientation != OrientationEventListener.ORIENTATION_UNKNOWN) {
+ mPreviewLayoutChanged = true;
if (!mOrientationLocked)
mUI.setOrientation(mDeviceOrientation, true);
}
@@ -250,6 +252,12 @@ public class WideAnglePanoramaModule
mRootView.setVisibility(View.VISIBLE);
} else {
if (mCaptureState == CAPTURE_STATE_VIEWFINDER) {
+ if (mPreviewLayoutChanged) {
+ boolean isLandscape = (mDeviceOrientation / 90) % 2 == 1;
+ renderer.previewReset(mPreviewUIWidth, mPreviewUIHeight,
+ isLandscape, mDeviceOrientation);
+ mPreviewLayoutChanged = false;
+ }
renderer.showPreviewFrame();
} else {
renderer.alignFrameSync();
@@ -467,13 +475,13 @@ public class WideAnglePanoramaModule
}
mMosaicPreviewRenderer = null;
}
- final boolean isLandscape =
- (mActivity.getResources().getConfiguration().orientation ==
- Configuration.ORIENTATION_LANDSCAPE);
+ final boolean isLandscape = (mDeviceOrientation / 90) % 2 == 1;
+ final boolean enableWarpedPanoPreview =
+ mActivity.getResources().getBoolean(R.bool.enable_warped_pano_preview);
mUI.flipPreviewIfNeeded();
MosaicPreviewRenderer renderer = new MosaicPreviewRenderer(
- mUI.getSurfaceTexture(),
- mPreviewUIWidth, mPreviewUIHeight, isLandscape);
+ mUI.getSurfaceTexture(), mPreviewUIWidth, mPreviewUIHeight,
+ isLandscape, mDeviceOrientation, enableWarpedPanoPreview);
synchronized (mRendererLock) {
mMosaicPreviewRenderer = renderer;
mCameraTexture = mMosaicPreviewRenderer.getInputSurfaceTexture();