summaryrefslogtreecommitdiffstats
path: root/camera2/public/src/com/android/ex/camera2/blocking/BlockingSessionCallback.java
diff options
context:
space:
mode:
Diffstat (limited to 'camera2/public/src/com/android/ex/camera2/blocking/BlockingSessionCallback.java')
-rw-r--r--camera2/public/src/com/android/ex/camera2/blocking/BlockingSessionCallback.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/camera2/public/src/com/android/ex/camera2/blocking/BlockingSessionCallback.java b/camera2/public/src/com/android/ex/camera2/blocking/BlockingSessionCallback.java
index ae4f40b..0dad0d5 100644
--- a/camera2/public/src/com/android/ex/camera2/blocking/BlockingSessionCallback.java
+++ b/camera2/public/src/com/android/ex/camera2/blocking/BlockingSessionCallback.java
@@ -18,6 +18,7 @@ package com.android.ex.camera2.blocking;
import android.hardware.camera2.CameraCaptureSession;
import android.os.ConditionVariable;
import android.util.Log;
+import android.view.Surface;
import com.android.ex.camera2.exceptions.TimeoutRuntimeException;
import com.android.ex.camera2.utils.StateChangeListener;
@@ -186,6 +187,16 @@ public class BlockingSessionCallback extends CameraCaptureSession.StateCallback
mStateChangeListener.onStateChanged(SESSION_READY);
}
+ @Override
+ public void onSurfacePrepared(CameraCaptureSession session, Surface surface) {
+ mSessionFuture.setSession(session);
+ if (mProxy != null) {
+ mProxy.onSurfacePrepared(session, surface);
+ }
+ // Surface prepared doesn't cause a session state change, so don't trigger the
+ // state change listener
+ }
+
private static class SessionFuture implements Future<CameraCaptureSession> {
private volatile CameraCaptureSession mSession;
ConditionVariable mCondVar = new ConditionVariable(/*opened*/false);