From 1ab897565fa4d7543af44d263d7039a32cce2666 Mon Sep 17 00:00:00 2001 From: Likai Ding Date: Thu, 13 Aug 2015 15:36:15 +0800 Subject: SnapdragonCamera: fix screen flash on resuming Currently preview cover will be hidden shortly after preview started, but if the actual first frame comes late, the main screen will flash. Register a oneshot preview callback to hide preview cover. Change-Id: I81fabf2d97c32fc2112cf4fceef4edd0872439e2 CRs-Fixed: 889021 --- src/com/android/camera/VideoModule.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index 77897f6b0..12024eb09 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -1093,6 +1093,13 @@ public class VideoModule implements CameraModule, mCameraDevice.setPreviewDisplay(sh); mCameraDevice.startPreview(); mPreviewing = true; + mCameraDevice.setOneShotPreviewCallback(mHandler, + new CameraManager.CameraPreviewDataCallback() { + @Override + public void onPreviewFrame(byte[] data, CameraProxy camera) { + mUI.hidePreviewCover(); + } + }); onPreviewStarted(); } catch (Throwable ex) { closeCamera(); @@ -1103,7 +1110,6 @@ public class VideoModule implements CameraModule, private void onPreviewStarted() { mUI.enableShutter(true); - mUI.hidePreviewCover(); } @Override -- cgit v1.2.3