From ebbcc3944adcc01846128d1bdacc7c8b1c8cdb35 Mon Sep 17 00:00:00 2001 From: Alan Newberger Date: Wed, 30 Oct 2013 11:42:14 -0700 Subject: Avoid crash if user disables Camera while Gallery is open We cache the camera availability check so in the corner case that a user disables their camera in package manager, avoid crashing. Not necessary to do more sophisticated handling since this is a narrow case initiated by user. Bug: 11435559 Change-Id: I54d5015cdd9b64aec5c9da9a393824d3b41201a1 --- src/com/android/gallery3d/util/GalleryUtils.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/com/android/gallery3d/util') diff --git a/src/com/android/gallery3d/util/GalleryUtils.java b/src/com/android/gallery3d/util/GalleryUtils.java index d1f822923..8fb926c0b 100644 --- a/src/com/android/gallery3d/util/GalleryUtils.java +++ b/src/com/android/gallery3d/util/GalleryUtils.java @@ -247,7 +247,13 @@ public class GalleryUtils { Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA) .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(intent); + try { + context.startActivity(intent); + } catch (ActivityNotFoundException e) { + // This will only occur if Camera was disabled while Gallery is open + // since we cache our availability check. Just abort the attempt. + Log.e(TAG, "Camera activity previously detected but cannot be found", e); + } } public static void startGalleryActivity(Context context) { -- cgit v1.2.3