diff options
author | Wu-cheng Li <wuchengli@google.com> | 2010-11-09 15:36:59 +0800 |
---|---|---|
committer | Wu-cheng Li <wuchengli@google.com> | 2010-11-09 15:36:59 +0800 |
commit | 5680635f39b3098539cbfd120f95fdc4479bab0f (patch) | |
tree | 3222bd76b171a47b95ebf02eacca165454a139c7 /media/java | |
parent | 5912f90e60a305996cdace35f72f847dfeb0f5ec (diff) | |
download | frameworks_base-5680635f39b3098539cbfd120f95fdc4479bab0f.zip frameworks_base-5680635f39b3098539cbfd120f95fdc4479bab0f.tar.gz frameworks_base-5680635f39b3098539cbfd120f95fdc4479bab0f.tar.bz2 |
Use back-facing camera as default in camera/camcorder profile.
bug:3173302
Change-Id: Iae9565eb58949a1c9c2f2a1f5251b2df097ec167
Diffstat (limited to 'media/java')
-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; } /** |