summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/util
diff options
context:
space:
mode:
authorMangesh Ghiware <mghiware@google.com>2013-10-22 14:10:17 -0700
committerMangesh Ghiware <mghiware@google.com>2013-10-22 14:10:17 -0700
commitb6892ab9e603661f73d97b50adcecc5103ebcd6f (patch)
tree89adc12f9aa1b04c8dcba378272465656a74cec6 /src/com/android/gallery3d/util
parent85f460b8ba236167bccf560358aefd560f7b58f0 (diff)
downloadandroid_packages_apps_Gallery2-b6892ab9e603661f73d97b50adcecc5103ebcd6f.tar.gz
android_packages_apps_Gallery2-b6892ab9e603661f73d97b50adcecc5103ebcd6f.tar.bz2
android_packages_apps_Gallery2-b6892ab9e603661f73d97b50adcecc5103ebcd6f.zip
Consider camera available only if intent resolves to an activity.
Fixes crash for restricted profiles without a camera. Bug: 11289596 Change-Id: I3545dbeae2e4c9094746b51b770daa93e3896bb6
Diffstat (limited to 'src/com/android/gallery3d/util')
-rw-r--r--src/com/android/gallery3d/util/GalleryUtils.java9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/com/android/gallery3d/util/GalleryUtils.java b/src/com/android/gallery3d/util/GalleryUtils.java
index 9a78fcd27..d1f822923 100644
--- a/src/com/android/gallery3d/util/GalleryUtils.java
+++ b/src/com/android/gallery3d/util/GalleryUtils.java
@@ -43,6 +43,7 @@ import com.android.gallery3d.common.ApiHelper;
import com.android.gallery3d.data.DataManager;
import com.android.gallery3d.data.MediaItem;
import com.android.gallery3d.ui.TiledScreenNail;
+import com.android.gallery3d.util.IntentHelper;
import com.android.gallery3d.util.ThreadPool.CancelListener;
import com.android.gallery3d.util.ThreadPool.JobContext;
@@ -235,12 +236,10 @@ public class GalleryUtils {
public static boolean isCameraAvailable(Context context) {
if (sCameraAvailableInitialized) return sCameraAvailable;
PackageManager pm = context.getPackageManager();
- ComponentName name = new ComponentName(context, CAMERA_LAUNCHER_NAME);
- int state = pm.getComponentEnabledSetting(name);
+ Intent cameraIntent = IntentHelper.getCameraIntent(context);
+ List<ResolveInfo> apps = pm.queryIntentActivities(cameraIntent, 0);
sCameraAvailableInitialized = true;
- sCameraAvailable =
- (state == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT)
- || (state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
+ sCameraAvailable = !apps.isEmpty();
return sCameraAvailable;
}