diff options
author | Ahbong Chang <cwahbong@google.com> | 2012-07-11 13:56:46 +0800 |
---|---|---|
committer | Ahbong Chang <cwahbong@google.com> | 2012-07-12 16:28:54 +0800 |
commit | 0c03082cc886cbaf76bec8b725d72dd42a01f645 (patch) | |
tree | f2fe088368ad55795645ea28aec25391eaae684c /gallerycommon/src/com | |
parent | a7ded76de610b3a025b0c2052fcbeb952c482bd6 (diff) | |
download | android_packages_apps_Snap-0c03082cc886cbaf76bec8b725d72dd42a01f645.tar.gz android_packages_apps_Snap-0c03082cc886cbaf76bec8b725d72dd42a01f645.tar.bz2 android_packages_apps_Snap-0c03082cc886cbaf76bec8b725d72dd42a01f645.zip |
Add existence check for face detection methods.
android.hardware.Camera.setFaceDetectionListener()
android.hardware.Camera.startFaceDetection()
android.hardware.Camera.stopFaceDetection()
android.hardware.Camera.Parameters.getMaxNumDetectedFaces()
Bug: 6707152
Change-Id: Ia6b54246273548db44ec28c40f9efe49048ea8d5
Diffstat (limited to 'gallerycommon/src/com')
-rw-r--r-- | gallerycommon/src/com/android/gallery3d/common/ApiHelper.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java b/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java index 4e61c77c9..fd2488faf 100644 --- a/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java +++ b/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java @@ -19,6 +19,8 @@ package com.android.gallery3d.common; import android.app.Activity; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; +import android.hardware.Camera; +import android.hardware.Camera.FaceDetectionListener; import android.os.Build; import android.provider.MediaStore.MediaColumns; import android.view.View; @@ -75,6 +77,13 @@ public class ApiHelper { public static final boolean HAS_SET_SYSTEM_UI_VISIBILITY = hasMethod(View.class, "setSystemUiVisibility", int.class); + public static final boolean HAS_FACE_DETECTION = + hasClass(Camera.class, "android.hardware.Camera$FaceDetectionListener") && + hasMethod(Camera.class, "setFaceDetectionListener", FaceDetectionListener.class) && + hasMethod(Camera.class, "startFaceDetection") && + hasMethod(Camera.class, "stopFaceDetection") && + hasMethod(Camera.Parameters.class, "getMaxNumDetectedFaces"); + public static final boolean HAS_GET_CAMERA_DISABLED = hasMethod(DevicePolicyManager.class, "getCameraDisabled", ComponentName.class); @@ -107,4 +116,15 @@ public class ApiHelper { return false; } } + + private static boolean hasClass(Class<?> klass, String className) { + Class<?>[] klasses = klass.getClasses(); + for (int i = 0; i < klasses.length; ++i) { + if (klasses[i].getName().equals(className)) { + return true; + } + } + return false; + } + } |