OSDN Git Service

Add CameraProvider methods to check camera facing.
authorAngus Kong <shkong@google.com>
Sat, 7 Dec 2013 04:55:36 +0000 (20:55 -0800)
committerAngus Kong <shkong@google.com>
Sat, 7 Dec 2013 05:13:55 +0000 (21:13 -0800)
Change-Id: Iba0f21a65a44bed1a26fa375a050e4879701bd72

src/com/android/camera/app/CameraController.java
src/com/android/camera/app/CameraProvider.java

index 1bb0a29..686decc 100644 (file)
@@ -102,6 +102,24 @@ public class CameraController implements CameraManager.CameraOpenCallback, Camer
     }
 
     @Override
+    public boolean isFrontFacingCamera(int id) {
+        if (id >= mCameraInfos.length || mCameraInfos[id] == null) {
+            Log.e(TAG, "Camera info not available:" + id);
+            return false;
+        }
+        return (mCameraInfos[id].facing == Camera.CameraInfo.CAMERA_FACING_FRONT);
+    }
+
+    @Override
+    public boolean isBackFacingCamera(int id) {
+        if (id >= mCameraInfos.length || mCameraInfos[id] == null) {
+            Log.e(TAG, "Camera info not available:" + id);
+            return false;
+        }
+        return (mCameraInfos[id].facing == Camera.CameraInfo.CAMERA_FACING_BACK);
+    }
+
+    @Override
     public void onCameraOpened(CameraManager.CameraProxy camera) {
         mRequestingCameraId = -1;
         mCameraProxy = camera;
index 5733e97..f20528e 100644 (file)
@@ -59,4 +59,14 @@ public interface CameraProvider {
      * @return The lowest ID of the front camera or -1 if not available.
      */
     public int getFirstFrontCameraId();
+
+    /**
+     * @returns Whether the camera is facing front.
+     */
+    public boolean isFrontFacingCamera(int id);
+
+    /**
+     * @returns Whether the camera is facing back.
+     */
+    public boolean isBackFacingCamera(int id);
 }