diff options
| author | Wu-cheng Li <wuchengli@google.com> | 2010-11-09 00:01:33 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-11-09 00:01:33 -0800 |
| commit | 9805d2cc87a5f7059f03467bff39944ce86607e8 (patch) | |
| tree | 2dfaa417414785c5a506c922b0f142ad717b8677 | |
| parent | 1ab852fbcfe155c9d4373b7130f8515591669634 (diff) | |
| parent | 5680635f39b3098539cbfd120f95fdc4479bab0f (diff) | |
| download | frameworks_base-9805d2cc87a5f7059f03467bff39944ce86607e8.zip frameworks_base-9805d2cc87a5f7059f03467bff39944ce86607e8.tar.gz frameworks_base-9805d2cc87a5f7059f03467bff39944ce86607e8.tar.bz2 | |
Merge "Use back-facing camera as default in camera/camcorder profile."
| -rw-r--r-- | media/java/android/media/CamcorderProfile.java | 32 | ||||
| -rw-r--r-- | media/java/android/media/CameraProfile.java | 16 |
2 files changed, 40 insertions, 8 deletions
diff --git a/media/java/android/media/CamcorderProfile.java b/media/java/android/media/CamcorderProfile.java index 505a36c..b2234e2 100644 --- a/media/java/android/media/CamcorderProfile.java +++ b/media/java/android/media/CamcorderProfile.java @@ -16,6 +16,9 @@ package android.media; +import android.hardware.Camera; +import android.hardware.Camera.CameraInfo; + /** * The CamcorderProfile class is used to retrieve the * predefined camcorder profile settings for camcorder applications. @@ -177,13 +180,22 @@ public class CamcorderProfile public int audioChannels; /** - * Returns the camcorder profile for the default camera at the given - * quality level. + * Returns the camcorder profile for the first back-facing camera on the + * device at the given quality level. If the device has no back-facing + * camera, this returns null. * @param quality the target quality level for the camcorder profile * @see #get(int, int) */ public static CamcorderProfile get(int quality) { - return get(0, quality); + int numberOfCameras = Camera.getNumberOfCameras(); + CameraInfo cameraInfo = new CameraInfo(); + for (int i = 0; i < numberOfCameras; i++) { + Camera.getCameraInfo(i, cameraInfo); + if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) { + return get(i, quality); + } + } + return null; } /** @@ -235,12 +247,20 @@ public class CamcorderProfile } /** - * Returns true if camcorder profile exists for the default camera at - * the given quality level. + * Returns true if camcorder profile exists for the first back-facing + * camera at the given quality level. * @param quality the target quality level for the camcorder profile */ public static boolean hasProfile(int quality) { - return hasProfile(0, quality); + int numberOfCameras = Camera.getNumberOfCameras(); + CameraInfo cameraInfo = new CameraInfo(); + for (int i = 0; i < numberOfCameras; i++) { + Camera.getCameraInfo(i, cameraInfo); + if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) { + return hasProfile(i, quality); + } + } + return false; } /** diff --git a/media/java/android/media/CameraProfile.java b/media/java/android/media/CameraProfile.java index 6a0be08..905e2d2 100644 --- a/media/java/android/media/CameraProfile.java +++ b/media/java/android/media/CameraProfile.java @@ -16,6 +16,9 @@ package android.media; +import android.hardware.Camera; +import android.hardware.Camera.CameraInfo; + import java.util.Arrays; import java.util.HashMap; @@ -46,12 +49,21 @@ public class CameraProfile /** * Returns a pre-defined still image capture (jpeg) quality level * used for the given quality level in the Camera application for - * the default camera. + * the first back-facing camera on the device. If the device has no + * back-facing camera, this returns 0. * * @param quality The target quality level */ public static int getJpegEncodingQualityParameter(int quality) { - return getJpegEncodingQualityParameter(0, quality); + int numberOfCameras = Camera.getNumberOfCameras(); + CameraInfo cameraInfo = new CameraInfo(); + for (int i = 0; i < numberOfCameras; i++) { + Camera.getCameraInfo(i, cameraInfo); + if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) { + return getJpegEncodingQualityParameter(i, quality); + } + } + return 0; } /** |
