diff options
-rw-r--r-- | src/com/android/camera/CameraActivity.java | 18 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/Gallery.java | 2 | ||||
-rw-r--r-- | src/com/android/gallery3d/util/GalleryUtils.java | 2 | ||||
-rw-r--r-- | src_pd/com/android/gallery3d/util/IntentHelper.java | 9 |
4 files changed, 17 insertions, 14 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index b74af47b3..9462aed38 100644 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -15,6 +15,7 @@ */ package com.android.camera; +import com.android.gallery3d.util.GalleryUtils; import com.android.gallery3d.util.IntentHelper; import android.app.Activity; @@ -26,13 +27,16 @@ public class CameraActivity extends Activity { @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); - Intent intent = IntentHelper.getCameraIntent(CameraActivity.this); - // Since this is being launched from a homescreen shorcut, - // it's already in a new task. Start Camera activity and - // reset the task to its initial state if needed. - intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(intent); + + if (GalleryUtils.isCameraAvailable(CameraActivity.this)) { + Intent intent = IntentHelper.getCameraIntent(); + // Since this is being launched from a homescreen shorcut, + // it's already in a new task. Start Camera activity and + // reset the task to its initial state if needed. + intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(intent); + } finish(); } } diff --git a/src/com/android/gallery3d/app/Gallery.java b/src/com/android/gallery3d/app/Gallery.java index fd9097d29..df3c0f957 100644 --- a/src/com/android/gallery3d/app/Gallery.java +++ b/src/com/android/gallery3d/app/Gallery.java @@ -26,7 +26,7 @@ public class Gallery extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - Intent intent = IntentHelper.getGalleryIntent(Gallery.this); + Intent intent = IntentHelper.getGalleryIntent(); // Since this is being launched from a homescreen shortcut, // it's already in a new task. Start Gallery activity and // reset the task to its initial state if needed. diff --git a/src/com/android/gallery3d/util/GalleryUtils.java b/src/com/android/gallery3d/util/GalleryUtils.java index 8e4ebb714..ed2870509 100644 --- a/src/com/android/gallery3d/util/GalleryUtils.java +++ b/src/com/android/gallery3d/util/GalleryUtils.java @@ -238,7 +238,7 @@ public class GalleryUtils { public static boolean isCameraAvailable(Context context) { if (sCameraAvailableInitialized) return sCameraAvailable; PackageManager pm = context.getPackageManager(); - Intent cameraIntent = IntentHelper.getCameraIntent(context); + Intent cameraIntent = IntentHelper.getCameraIntent(); List<ResolveInfo> apps = pm.queryIntentActivities(cameraIntent, 0); sCameraAvailableInitialized = true; sCameraAvailable = !apps.isEmpty(); diff --git a/src_pd/com/android/gallery3d/util/IntentHelper.java b/src_pd/com/android/gallery3d/util/IntentHelper.java index 8aebfc1fd..d0fb59ae8 100644 --- a/src_pd/com/android/gallery3d/util/IntentHelper.java +++ b/src_pd/com/android/gallery3d/util/IntentHelper.java @@ -15,17 +15,16 @@ */ package com.android.gallery3d.util; -import android.content.Context; import android.content.Intent; +import android.provider.MediaStore; public class IntentHelper { - public static Intent getCameraIntent(Context context) { - return new Intent(Intent.ACTION_MAIN) - .setClassName("com.android.camera2", "com.android.camera.CameraLauncher"); + public static Intent getCameraIntent() { + return new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA); } - public static Intent getGalleryIntent(Context context) { + public static Intent getGalleryIntent() { return new Intent(Intent.ACTION_MAIN) .setClassName("com.android.gallery3d", "com.android.gallery3d.app.GalleryActivity"); } |