diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2015-08-08 06:36:08 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-08-08 06:36:08 -0700 |
commit | 26d8a1fb13d7a58f63d6a1032ac7c6c4b625f03f (patch) | |
tree | 8835adf72ac05afd99478540d5d34553d851cd39 /src | |
parent | 8d11725675ee9f492fd75f64993fe49c6897560f (diff) | |
parent | 37856d6b3bcede0eb514e83d168d24b5f66d21c5 (diff) | |
download | android_packages_apps_Snap-26d8a1fb13d7a58f63d6a1032ac7c6c4b625f03f.tar.gz android_packages_apps_Snap-26d8a1fb13d7a58f63d6a1032ac7c6c4b625f03f.tar.bz2 android_packages_apps_Snap-26d8a1fb13d7a58f63d6a1032ac7c6c4b625f03f.zip |
Merge "SnapdragonCamera: fix screen flash on resuming"
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/AndroidCameraManagerImpl.java | 11 | ||||
-rw-r--r-- | src/com/android/camera/CameraManager.java | 1 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 8 |
3 files changed, 19 insertions, 1 deletions
diff --git a/src/com/android/camera/AndroidCameraManagerImpl.java b/src/com/android/camera/AndroidCameraManagerImpl.java index 1a9e2a7dc..3bfe0c2cb 100644 --- a/src/com/android/camera/AndroidCameraManagerImpl.java +++ b/src/com/android/camera/AndroidCameraManagerImpl.java @@ -74,6 +74,7 @@ class AndroidCameraManagerImpl implements CameraManager { private static final int ADD_CALLBACK_BUFFER = 105; private static final int SET_PREVIEW_DISPLAY_ASYNC = 106; private static final int SET_PREVIEW_CALLBACK = 107; + private static final int SET_ONESHOT_PREVIEW_CALLBACK = 108; // Parameters private static final int SET_PARAMETERS = 201; private static final int GET_PARAMETERS = 202; @@ -340,6 +341,9 @@ class AndroidCameraManagerImpl implements CameraManager { mCamera.setPreviewCallback((PreviewCallback) msg.obj); return; + case SET_ONESHOT_PREVIEW_CALLBACK: + mCamera.setOneShotPreviewCallback((PreviewCallback) msg.obj); + case ENABLE_SHUTTER_SOUND: enableShutterSound((msg.arg1 == 1) ? true : false); return; @@ -498,6 +502,13 @@ class AndroidCameraManagerImpl implements CameraManager { } @Override + public void setOneShotPreviewCallback(Handler handler, CameraPreviewDataCallback cb) { + mCameraHandler.obtainMessage( + SET_ONESHOT_PREVIEW_CALLBACK, + PreviewCallbackForward.getNewInstance(handler, this, cb)).sendToTarget(); + } + + @Override public void addCallbackBuffer(byte[] callbackBuffer) { mCameraHandler.obtainMessage(ADD_CALLBACK_BUFFER, callbackBuffer).sendToTarget(); } diff --git a/src/com/android/camera/CameraManager.java b/src/com/android/camera/CameraManager.java index 1856ec85c..e7d535060 100644 --- a/src/com/android/camera/CameraManager.java +++ b/src/com/android/camera/CameraManager.java @@ -240,6 +240,7 @@ public interface CameraManager { */ public void setPreviewDataCallbackWithBuffer(Handler handler, CameraPreviewDataCallback cb); + public void setOneShotPreviewCallback(Handler handler, CameraPreviewDataCallback cb); /** * Adds buffer for the preview callback. * diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index fd251cee3..54787bd2b 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -532,7 +532,6 @@ public class PhotoModule if (mCameraState == SNAPSHOT_IN_PROGRESS) { return; } - mUI.hidePreviewCover(); setCameraState(IDLE); mFocusManager.onPreviewStarted(); startFaceDetection(); @@ -2646,6 +2645,13 @@ public class PhotoModule setCameraParameters(UPDATE_PARAM_ALL); mCameraDevice.startPreview(); + mCameraDevice.setOneShotPreviewCallback(mHandler, + new CameraManager.CameraPreviewDataCallback() { + @Override + public void onPreviewFrame(byte[] data, CameraProxy camera) { + mUI.hidePreviewCover(); + } + }); mHandler.sendEmptyMessage(ON_PREVIEW_STARTED); setDisplayOrientation(); |