From ed6c3fb1e318bac084039c540255eceda292ef1b Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Tue, 29 Mar 2016 17:22:59 +0100
Subject: [PATCH] Expect runtime exceptions from camera API methods.

---
 .../briarproject/android/util/CameraView.java  | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/briar-android/src/org/briarproject/android/util/CameraView.java b/briar-android/src/org/briarproject/android/util/CameraView.java
index fcd9320a07..623650e662 100644
--- a/briar-android/src/org/briarproject/android/util/CameraView.java
+++ b/briar-android/src/org/briarproject/android/util/CameraView.java
@@ -95,6 +95,8 @@ public class CameraView extends SurfaceView implements SurfaceHolder.Callback,
 			previewConsumer.start(camera);
 		} catch (IOException e) {
 			LOG.log(WARNING, "Error starting camera preview", e);
+		} catch (RuntimeException e) {
+			LOG.log(WARNING, "Error starting camera preview", e);
 		}
 	}
 
@@ -120,7 +122,11 @@ public class CameraView extends SurfaceView implements SurfaceHolder.Callback,
 		}
 		if(LOG.isLoggable(INFO))
 			LOG.info("Display orientation " + orientation + " degrees");
-		camera.setDisplayOrientation(orientation);
+		try {
+			camera.setDisplayOrientation(orientation);
+		} catch (RuntimeException e) {
+			LOG.log(WARNING, "Error setting display orientation", e);
+		}
 		displayOrientation = orientation;
 	}
 
@@ -227,9 +233,13 @@ public class CameraView extends SurfaceView implements SurfaceHolder.Callback,
 		surfaceHeight = h;
 		if (camera == null) return; // We are stopped
 		stopPreview();
-		Parameters params = camera.getParameters();
-		setPreviewSize(params);
-		applyParameters(params);
+		try {
+			Parameters params = camera.getParameters();
+			setPreviewSize(params);
+			applyParameters(params);
+		} catch (RuntimeException e) {
+			LOG.log(WARNING, "Error getting camera parameters", e);
+		}
 		startPreview(holder);
 	}
 
-- 
GitLab