summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorYin-Chia Yeh <yinchiayeh@google.com>2019-06-25 10:41:56 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-06-25 10:41:56 -0700
commitcff1749e5283454c5cd2aaa19b123bee8cebf473 (patch)
treea4db244eb2595d7e2ae082247caceb07556f9cc3 /core/java
parent837dc67d30df8041a3833f081032020157d0bb6c (diff)
parente8ff13376f86de44a747aec8d8ba9c1c5b3f1a07 (diff)
Merge "Camera: block session init callback until ctor returns" into qt-dev am: 0e1eecd080 am: 0aa57fe073
am: e8ff13376f Change-Id: I2f5a51b279a67b53a5f0fc5ac0632ce0bf568595
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/java/android/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl.java b/core/java/android/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl.java
index 3494a7f2801e..eb331373e691 100644
--- a/core/java/android/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl.java
+++ b/core/java/android/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl.java
@@ -25,6 +25,7 @@ import android.hardware.camera2.params.OutputConfiguration;
import android.hardware.camera2.params.StreamConfigurationMap;
import android.hardware.camera2.utils.SurfaceUtils;
import android.os.Handler;
+import android.os.ConditionVariable;
import android.util.Range;
import android.view.Surface;
@@ -51,6 +52,7 @@ public class CameraConstrainedHighSpeedCaptureSessionImpl
extends CameraConstrainedHighSpeedCaptureSession implements CameraCaptureSessionCore {
private final CameraCharacteristics mCharacteristics;
private final CameraCaptureSessionImpl mSessionImpl;
+ private final ConditionVariable mInitialized = new ConditionVariable();
/**
* Create a new CameraCaptureSession.
@@ -68,6 +70,7 @@ public class CameraConstrainedHighSpeedCaptureSessionImpl
CameraCaptureSession.StateCallback wrapperCallback = new WrapperCallback(callback);
mSessionImpl = new CameraCaptureSessionImpl(id, /*input*/null, wrapperCallback,
stateExecutor, deviceImpl, deviceStateExecutor, configureSuccess);
+ mInitialized.open();
}
@Override
@@ -321,11 +324,13 @@ public class CameraConstrainedHighSpeedCaptureSessionImpl
@Override
public void onConfigured(CameraCaptureSession session) {
+ mInitialized.block();
mCallback.onConfigured(CameraConstrainedHighSpeedCaptureSessionImpl.this);
}
@Override
public void onConfigureFailed(CameraCaptureSession session) {
+ mInitialized.block();
mCallback.onConfigureFailed(CameraConstrainedHighSpeedCaptureSessionImpl.this);
}