diff options
| author | Chih-Chung Chang <chihchung@google.com> | 2012-05-17 23:47:07 -0700 |
|---|---|---|
| committer | Chih-Chung Chang <chihchung@google.com> | 2012-05-17 23:48:00 -0700 |
| commit | ab82ed93f46a728018e7f1fdc3d0a877dc3d9171 (patch) | |
| tree | 9a3af9c5fdfe9ea0cd9267805a6f60726f72ca03 /src/com | |
| parent | 62c29e71e226ae31573ab883a18e30fdfcb2711b (diff) | |
| download | android_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/com')
| -rw-r--r-- | src/com/android/gallery3d/util/GalleryUtils.java | 19 |
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 |
