diff options
author | Sol Boucher <solb@google.com> | 2014-06-06 01:51:25 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-06-06 01:51:25 +0000 |
commit | fca5f5234734d0ac452a6da19918c368481fa246 (patch) | |
tree | cd3de8364d1ec13cc310f5ef2051a9282ef56730 /core/java/android/hardware | |
parent | acb28a7af72baf9be7701c075e4f84672417b7d0 (diff) | |
parent | 4b3f8004382192e066bb0c38bf39421f312daaf2 (diff) | |
download | frameworks_base-fca5f5234734d0ac452a6da19918c368481fa246.zip frameworks_base-fca5f5234734d0ac452a6da19918c368481fa246.tar.gz frameworks_base-fca5f5234734d0ac452a6da19918c368481fa246.tar.bz2 |
am af9a77d6: camera2: Fix ordering issue between #onOpened and createCaptureSession
* commit 'af9a77d64912985a3fa9f91cd0e372316e790b9f':
camera2: Fix ordering issue between #onOpened and createCaptureSession
Diffstat (limited to 'core/java/android/hardware')
-rw-r--r-- | core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java | 7 | ||||
-rw-r--r-- | core/java/android/hardware/camera2/impl/CameraDeviceImpl.java | 14 |
2 files changed, 13 insertions, 8 deletions
diff --git a/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java b/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java index f74fbaa..c3e042e 100644 --- a/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java +++ b/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java @@ -446,7 +446,12 @@ public class CameraCaptureSessionImpl extends CameraCaptureSession { @Override public void onUnconfigured(CameraDevice camera) { - mUnconfigureDrainer.taskFinished(); + synchronized (session) { + // Ignore #onUnconfigured before #close is called + if (mClosed) { + mUnconfigureDrainer.taskFinished(); + } + } } }; diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java index 9795082..d4adae1 100644 --- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java @@ -101,11 +101,11 @@ public class CameraDeviceImpl extends android.hardware.camera2.CameraDevice { @Override public void run() { if (!CameraDeviceImpl.this.isClosed()) { - mDeviceListener.onOpened(CameraDeviceImpl.this); StateListener sessionListener = mSessionStateListener; if (sessionListener != null) { sessionListener.onOpened(CameraDeviceImpl.this); } + mDeviceListener.onOpened(CameraDeviceImpl.this); } } }; @@ -114,11 +114,11 @@ public class CameraDeviceImpl extends android.hardware.camera2.CameraDevice { @Override public void run() { if (!CameraDeviceImpl.this.isClosed()) { - mDeviceListener.onUnconfigured(CameraDeviceImpl.this); StateListener sessionListener = mSessionStateListener; if (sessionListener != null) { sessionListener.onUnconfigured(CameraDeviceImpl.this); } + mDeviceListener.onUnconfigured(CameraDeviceImpl.this); } } }; @@ -127,11 +127,11 @@ public class CameraDeviceImpl extends android.hardware.camera2.CameraDevice { @Override public void run() { if (!CameraDeviceImpl.this.isClosed()) { - mDeviceListener.onActive(CameraDeviceImpl.this); StateListener sessionListener = mSessionStateListener; if (sessionListener != null) { sessionListener.onActive(CameraDeviceImpl.this); } + mDeviceListener.onActive(CameraDeviceImpl.this); } } }; @@ -140,11 +140,11 @@ public class CameraDeviceImpl extends android.hardware.camera2.CameraDevice { @Override public void run() { if (!CameraDeviceImpl.this.isClosed()) { - mDeviceListener.onBusy(CameraDeviceImpl.this); StateListener sessionListener = mSessionStateListener; if (sessionListener != null) { sessionListener.onBusy(CameraDeviceImpl.this); } + mDeviceListener.onBusy(CameraDeviceImpl.this); } } }; @@ -152,11 +152,11 @@ public class CameraDeviceImpl extends android.hardware.camera2.CameraDevice { private final Runnable mCallOnClosed = new Runnable() { @Override public void run() { - mDeviceListener.onClosed(CameraDeviceImpl.this); StateListener sessionListener = mSessionStateListener; if (sessionListener != null) { sessionListener.onClosed(CameraDeviceImpl.this); } + mDeviceListener.onClosed(CameraDeviceImpl.this); } }; @@ -164,11 +164,11 @@ public class CameraDeviceImpl extends android.hardware.camera2.CameraDevice { @Override public void run() { if (!CameraDeviceImpl.this.isClosed()) { - mDeviceListener.onIdle(CameraDeviceImpl.this); StateListener sessionListener = mSessionStateListener; if (sessionListener != null) { sessionListener.onIdle(CameraDeviceImpl.this); } + mDeviceListener.onIdle(CameraDeviceImpl.this); } } }; @@ -177,11 +177,11 @@ public class CameraDeviceImpl extends android.hardware.camera2.CameraDevice { @Override public void run() { if (!CameraDeviceImpl.this.isClosed()) { - mDeviceListener.onDisconnected(CameraDeviceImpl.this); StateListener sessionListener = mSessionStateListener; if (sessionListener != null) { sessionListener.onDisconnected(CameraDeviceImpl.this); } + mDeviceListener.onDisconnected(CameraDeviceImpl.this); } } }; |