summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2015-08-08 06:36:08 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2015-08-08 06:36:08 -0700
commit26d8a1fb13d7a58f63d6a1032ac7c6c4b625f03f (patch)
tree8835adf72ac05afd99478540d5d34553d851cd39 /src
parent8d11725675ee9f492fd75f64993fe49c6897560f (diff)
parent37856d6b3bcede0eb514e83d168d24b5f66d21c5 (diff)
downloadandroid_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.java11
-rw-r--r--src/com/android/camera/CameraManager.java1
-rw-r--r--src/com/android/camera/PhotoModule.java8
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();