summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChien-Yu Chen <cychen@google.com>2015-06-16 11:13:48 -0700
committerChien-Yu Chen <cychen@google.com>2015-06-16 12:07:57 -0700
commitc58a602a2f832a1defbfb1d18e2a1c6cd7fb286c (patch)
treedd3859d1a5bd958c9b6fe3f074b6f2a589a209c4
parent98b40aac8399d8befc5099955a34ce54df477d8f (diff)
downloadframeworks_base-c58a602a2f832a1defbfb1d18e2a1c6cd7fb286c.zip
frameworks_base-c58a602a2f832a1defbfb1d18e2a1c6cd7fb286c.tar.gz
frameworks_base-c58a602a2f832a1defbfb1d18e2a1c6cd7fb286c.tar.bz2
Camera2: Handle getting input surface failures
Don't get the input surface after creating a session failed. Catch the CameraRuntimeException when getting the input surface so onConfigureFailed will be fired. Bug: 20945169 Change-Id: Iea6891c2a1d7419d7d6669a17114f949c03a0319
-rw-r--r--core/java/android/hardware/camera2/impl/CameraDeviceImpl.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
index ed167f0..95c46d1 100644
--- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
+++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
@@ -536,12 +536,16 @@ public class CameraDeviceImpl extends CameraDevice {
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;