diff options
author | Sai Kumar Sanagavarapu <ssanagav@codeaurora.org> | 2015-03-20 11:50:19 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-03-20 09:00:13 -0700 |
commit | 9fe993574ba1c819ff0a2801aca0fac3210cb09d (patch) | |
tree | 689ea9a3f5c6825dd07823755c2d8b7694ff0891 /src/com/android/camera/CameraErrorCallback.java | |
parent | 40164962c72f9a5032a07fc03fee4f791eb7d62b (diff) | |
download | android_packages_apps_Snap-9fe993574ba1c819ff0a2801aca0fac3210cb09d.tar.gz android_packages_apps_Snap-9fe993574ba1c819ff0a2801aca0fac3210cb09d.tar.bz2 android_packages_apps_Snap-9fe993574ba1c819ff0a2801aca0fac3210cb09d.zip |
SnapdragonCamera: Handle CAMERA_ERROR_SERVER_DIED message gracefully.
Handle CAMERA_ERROR_SERVER_DIED message from lower layers by finishing
the activity and there by closing camera session and app gracefully.
In all other error cases, raise exception and kill app as exists
already.
Change-Id: I86c4caf174356148bd4725329ea13ec82e944b94
Diffstat (limited to 'src/com/android/camera/CameraErrorCallback.java')
-rw-r--r-- | src/com/android/camera/CameraErrorCallback.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/com/android/camera/CameraErrorCallback.java b/src/com/android/camera/CameraErrorCallback.java index 7029ac427..71fa9cefd 100644 --- a/src/com/android/camera/CameraErrorCallback.java +++ b/src/com/android/camera/CameraErrorCallback.java @@ -21,6 +21,11 @@ import android.util.Log; public class CameraErrorCallback implements android.hardware.Camera.ErrorCallback { private static final String TAG = "CameraErrorCallback"; + public CameraActivity mActivity = null; + + public void setActivity(CameraActivity activity) { + mActivity = activity; + } @Override public void onError(int error, android.hardware.Camera camera) { @@ -30,7 +35,11 @@ public class CameraErrorCallback // We are not sure about the current state of the app (in preview or // snapshot or recording). Closing the app is better than creating a // new Camera object. - throw new RuntimeException("Media server died."); + if (mActivity != null) { + mActivity.finish(); + } else { + throw new RuntimeException("Media server died."); + } } } } |