summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2012-05-17 23:47:07 -0700
committerChih-Chung Chang <chihchung@google.com>2012-05-17 23:48:00 -0700
commitab82ed93f46a728018e7f1fdc3d0a877dc3d9171 (patch)
tree9a3af9c5fdfe9ea0cd9267805a6f60726f72ca03 /src
parent62c29e71e226ae31573ab883a18e30fdfcb2711b (diff)
downloadandroid_packages_apps_Gallery2-ab82ed93f46a728018e7f1fdc3d0a877dc3d9171.tar.gz
android_packages_apps_Gallery2-ab82ed93f46a728018e7f1fdc3d0a877dc3d9171.tar.bz2
android_packages_apps_Gallery2-ab82ed93f46a728018e7f1fdc3d0a877dc3d9171.zip
Remove camera icon in Gallery if there is no launcher icon.
Bug: 6516793 Change-Id: I7ec88065565bcafdd2534cd8c7fd8f2591743447
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/util/GalleryUtils.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/util/GalleryUtils.java b/src/com/android/gallery3d/util/GalleryUtils.java
index a4584eb37..1d70914ce 100644
--- a/src/com/android/gallery3d/util/GalleryUtils.java
+++ b/src/com/android/gallery3d/util/GalleryUtils.java
@@ -50,6 +50,7 @@ public class GalleryUtils {
private static final String TAG = "GalleryUtils";
private static final String MAPS_PACKAGE_NAME = "com.google.android.apps.maps";
private static final String MAPS_CLASS_NAME = "com.google.android.maps.MapsActivity";
+ private static final String CAMERA_LAUNCHER_NAME = "com.android.camera.CameraLauncher";
private static final String MIME_TYPE_IMAGE = "image/*";
private static final String MIME_TYPE_VIDEO = "video/*";
@@ -63,7 +64,9 @@ public class GalleryUtils {
private static final String KEY_CAMERA_UPDATE = "camera-update";
private static final String KEY_HAS_CAMERA = "has-camera";
- static float sPixelDensity = -1f;
+ private static float sPixelDensity = -1f;
+ private static boolean sCameraAvailableInitialized = false;
+ private static boolean sCameraAvailable;
public static void initialize(Context context) {
if (sPixelDensity < 0) {
@@ -188,7 +191,7 @@ public class GalleryUtils {
return prefs.getBoolean(hasKey, true);
}
- public static boolean isCameraAvailable(Context context) {
+ public static boolean isAnyCameraAvailable(Context context) {
int version = PackagesMonitor.getPackagesVersion(context);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (prefs.getInt(KEY_CAMERA_UPDATE, 0) != version) {
@@ -202,6 +205,18 @@ public class GalleryUtils {
return prefs.getBoolean(KEY_HAS_CAMERA, true);
}
+ 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);
+ sCameraAvailableInitialized = true;
+ sCameraAvailable =
+ (state == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT)
+ || (state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
+ return sCameraAvailable;
+ }
+
public static void startCameraActivity(Context context) {
Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP