From bc02d7dcb2e9716a1f1e297fef435c8b0275aafe Mon Sep 17 00:00:00 2001 From: Angus Kong Date: Tue, 16 Apr 2013 13:57:06 -0700 Subject: [PATCH] Don't wait for Mosaic Renderer ready in UI thread. bug:8292711 Change-Id: Ic318c353fc420c0f7e573c74814757b79c798c5d --- src/com/android/camera/PanoramaModule.java | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/com/android/camera/PanoramaModule.java b/src/com/android/camera/PanoramaModule.java index dc27f56f1..c83bf825d 100644 --- a/src/com/android/camera/PanoramaModule.java +++ b/src/com/android/camera/PanoramaModule.java @@ -175,7 +175,6 @@ public class PanoramaModule implements CameraModule, private CameraProxy mCameraDevice; private boolean mPaused; private boolean mIsCreatingRenderer; - private boolean mIsConfigPending; private class MosaicJpeg { public MosaicJpeg(byte[] data, int width, int height) { @@ -245,14 +244,10 @@ public class PanoramaModule implements CameraModule, MosaicPreviewRenderer renderer = null; synchronized (mRendererLock) { - try { - while (mMosaicPreviewRenderer == null) { - mRendererLock.wait(); - } - renderer = mMosaicPreviewRenderer; - } catch (InterruptedException e) { - Log.e(TAG, "Unexpected interruption", e); + if (mMosaicPreviewRenderer == null) { + return; } + renderer = mMosaicPreviewRenderer; } if (mGLRootView.getVisibility() != View.VISIBLE) { renderer.showPreviewFrameSync(); @@ -438,11 +433,9 @@ public class PanoramaModule implements CameraModule, if (mIsCreatingRenderer) { mMainHandler.removeMessages(MSG_CONFIG_MOSAIC_PREVIEW); mMainHandler.obtainMessage(MSG_CONFIG_MOSAIC_PREVIEW, w, h).sendToTarget(); - mIsConfigPending = true; return; } mIsCreatingRenderer = true; - mIsConfigPending = false; } stopCameraPreview(); CameraScreenNail screenNail = (CameraScreenNail) mActivity.mCameraScreenNail; @@ -464,7 +457,6 @@ public class PanoramaModule implements CameraModule, SurfaceTexture surfaceTexture = screenNail.getSurfaceTexture(); if (surfaceTexture == null) { synchronized (mRendererLock) { - mIsConfigPending = true; // try config again later. mIsCreatingRenderer = false; mRendererLock.notifyAll(); return; @@ -995,7 +987,6 @@ public class PanoramaModule implements CameraModule, @Override public void onConfigurationChanged(Configuration newConfig) { - Drawable lowResReview = null; if (mThreadRunning) lowResReview = mReview.getDrawable(); -- 2.11.0