Merge "Camera2: Handle getting input surface failures" into mnc-dev
diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
index 20ce7a0..83128c3 100644
--- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
+++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
@@ -537,12 +537,16 @@
             CameraAccessException pendingException = null;
             Surface input = null;
             try {
-                 // configure streams and then block until IDLE
+                // configure streams and then block until IDLE
                 configureSuccess = configureStreamsChecked(inputConfig, outputConfigurations,
                         isConstrainedHighSpeed);
-                if (inputConfig != null) {
+                if (configureSuccess == true && inputConfig != null) {
                     input = new Surface();
-                    mRemoteDevice.getInputSurface(/*out*/input);
+                    try {
+                        mRemoteDevice.getInputSurface(/*out*/input);
+                    } catch (CameraRuntimeException e) {
+                        e.asChecked();
+                    }
                 }
             } catch (CameraAccessException e) {
                 configureSuccess = false;