summaryrefslogtreecommitdiffstats
path: root/camera2
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2014-03-07 17:34:38 -0800
committerIgor Murashkin <iam@google.com>2014-03-07 17:34:38 -0800
commitf24f9918f9dc081ccad9871dc174bf3b3e47059a (patch)
treebec2abf3066f5c248b517b36efbce03bfc11120b /camera2
parentc5da8557f1a26e984b14b9eb64cda2d3d3ba71ce (diff)
downloadandroid_frameworks_ex-f24f9918f9dc081ccad9871dc174bf3b3e47059a.tar.gz
android_frameworks_ex-f24f9918f9dc081ccad9871dc174bf3b3e47059a.tar.bz2
android_frameworks_ex-f24f9918f9dc081ccad9871dc174bf3b3e47059a.zip
camera2: BlockingStateListener invokes proxy before firing state change
- This fixes a race condition where it was possible to wait for a state transition using #waitForState but without yet the corresponding proxy callback having been fired. Change-Id: If521c4e48177d4b0fe5ab6fed3d31ddd74b656af
Diffstat (limited to 'camera2')
-rw-r--r--camera2/public/src/com/android/ex/camera2/blocking/BlockingStateListener.java16
1 files changed, 8 insertions, 8 deletions
diff --git a/camera2/public/src/com/android/ex/camera2/blocking/BlockingStateListener.java b/camera2/public/src/com/android/ex/camera2/blocking/BlockingStateListener.java
index 619ba0a..1f173eb 100644
--- a/camera2/public/src/com/android/ex/camera2/blocking/BlockingStateListener.java
+++ b/camera2/public/src/com/android/ex/camera2/blocking/BlockingStateListener.java
@@ -133,50 +133,50 @@ public class BlockingStateListener extends CameraDevice.StateListener {
@Override
public void onOpened(CameraDevice camera) {
- setCurrentState(STATE_OPENED);
if (mProxy != null) mProxy.onOpened(camera);
+ setCurrentState(STATE_OPENED);
}
@Override
public void onDisconnected(CameraDevice camera) {
- setCurrentState(STATE_DISCONNECTED);
if (mProxy != null) mProxy.onDisconnected(camera);
+ setCurrentState(STATE_DISCONNECTED);
}
@Override
public void onError(CameraDevice camera, int error) {
- setCurrentState(STATE_ERROR);
if (mProxy != null) mProxy.onError(camera, error);
+ setCurrentState(STATE_ERROR);
}
@Override
public void onUnconfigured(CameraDevice camera) {
- setCurrentState(STATE_UNCONFIGURED);
if (mProxy != null) mProxy.onUnconfigured(camera);
+ setCurrentState(STATE_UNCONFIGURED);
}
@Override
public void onIdle(CameraDevice camera) {
- setCurrentState(STATE_IDLE);
if (mProxy != null) mProxy.onIdle(camera);
+ setCurrentState(STATE_IDLE);
}
@Override
public void onActive(CameraDevice camera) {
- setCurrentState(STATE_ACTIVE);
if (mProxy != null) mProxy.onActive(camera);
+ setCurrentState(STATE_ACTIVE);
}
@Override
public void onBusy(CameraDevice camera) {
- setCurrentState(STATE_BUSY);
if (mProxy != null) mProxy.onBusy(camera);
+ setCurrentState(STATE_BUSY);
}
@Override
public void onClosed(CameraDevice camera) {
- setCurrentState(STATE_CLOSED);
if (mProxy != null) mProxy.onClosed(camera);
+ setCurrentState(STATE_CLOSED);
}
/**