Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 274a9a57 authored by Eino-Ville Talvala's avatar Eino-Ville Talvala Committed by Android Git Automerger
Browse files

am 7741a3b7: am fdc04cc2: am 03b3a63f: am 92a92a93: am 678e4328: Merge...

am 7741a3b7: am fdc04cc2: am 03b3a63f: am 92a92a93: am 678e4328: Merge "Camera2: Fix parallel session and device close() exception" into lmp-dev

* commit '7741a3b7':
  Camera2: Fix parallel session and device close() exception
parents 622d6aa3 7741a3b7
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -657,9 +657,9 @@ public class CameraCaptureSessionImpl extends CameraCaptureSession {
                    }
                    }


                    // Slow path: #close was called explicitly on this session; unconfigure first
                    // Slow path: #close was called explicitly on this session; unconfigure first
                    mUnconfigureDrainer.taskStarted();


                    try {
                    try {
                        mUnconfigureDrainer.taskStarted();
                        mDeviceImpl
                        mDeviceImpl
                                .configureOutputsChecked(null); // begin transition to unconfigured
                                .configureOutputsChecked(null); // begin transition to unconfigured
                    } catch (CameraAccessException e) {
                    } catch (CameraAccessException e) {
@@ -667,6 +667,11 @@ public class CameraCaptureSessionImpl extends CameraCaptureSession {
                        Log.e(TAG, mIdString + "Exception while configuring outputs: ", e);
                        Log.e(TAG, mIdString + "Exception while configuring outputs: ", e);


                        // TODO: call onError instead of onClosed if this happens
                        // TODO: call onError instead of onClosed if this happens
                    } catch (IllegalStateException e) {
                        // Camera is already closed, so go straight to the close callback
                        if (VERBOSE) Log.v(TAG, mIdString +
                                "Camera was already closed or busy, skipping unconfigure");
                        mUnconfigureDrainer.taskFinished();
                    }
                    }


                    mUnconfigureDrainer.beginDrain();
                    mUnconfigureDrainer.beginDrain();