OSDN Git Service

am fd6f316a: Merge "Ensure CaptureModule/API2 works without front camera" into ub...
authorAlan Newberger <alann@google.com>
Mon, 29 Jun 2015 18:06:04 +0000 (18:06 +0000)
committerAndroid Git Automerger <android-git-automerger@android.com>
Mon, 29 Jun 2015 18:06:04 +0000 (18:06 +0000)
* commit 'fd6f316adc5abfa071534642688bdf46f47a3925':
  Ensure CaptureModule/API2 works without front camera

src/com/android/camera/CaptureModule.java
src/com/android/camera/app/FirstRunDialog.java
src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java

index a3f728c..640da4f 100644 (file)
@@ -773,7 +773,7 @@ public class CaptureModule extends CameraModule implements
         return new HardwareSpec() {
             @Override
             public boolean isFrontCameraSupported() {
-                return true;
+                return mOneCameraManager.hasCameraFacing(Facing.FRONT);
             }
 
             @Override
index c3a3f88..d810c4b 100644 (file)
@@ -21,6 +21,7 @@ import android.content.Context;
 import android.content.DialogInterface;
 import android.view.ViewGroup;
 
+import com.android.camera.device.CameraId;
 import com.android.camera.exif.Rational;
 import com.android.camera.one.OneCamera.Facing;
 import com.android.camera.one.OneCameraAccessException;
@@ -157,10 +158,14 @@ public class FirstRunDialog {
             public void onConfirm(Rational aspectRatio) {
                 // Change resolution setting based on the chosen aspect ratio.
                 try {
-                    mResolutionSetting.setPictureAspectRatio(
-                          mOneCameraManager.findFirstCameraFacing(Facing.BACK), aspectRatio);
-                    mResolutionSetting.setPictureAspectRatio(
-                          mOneCameraManager.findFirstCameraFacing(Facing.FRONT), aspectRatio);
+                    CameraId backCameraId = mOneCameraManager.findFirstCameraFacing(Facing.BACK);
+                    if (backCameraId != null) {
+                        mResolutionSetting.setPictureAspectRatio(backCameraId, aspectRatio);
+                    }
+                    CameraId frontCameraId = mOneCameraManager.findFirstCameraFacing(Facing.FRONT);
+                    if (frontCameraId != null) {
+                        mResolutionSetting.setPictureAspectRatio(frontCameraId, aspectRatio);
+                    }
                 } catch (OneCameraAccessException ex) {
                     mListener.onCameraAccessException();
                     return;
index 0b766a5..a4b5a9b 100644 (file)
@@ -99,7 +99,8 @@ public class Camera2OneCameraManagerImpl implements OneCameraManager {
 
     @Override
     public CameraId findFirstCameraFacing(@Nonnull Facing facing) {
-        return CameraId.from(findCameraId(facing));
+        String cameraId = findCameraId(facing);
+        return (cameraId != null) ? CameraId.from(cameraId) : null;
     }
 
     @Override