Merge "Address API review feedback for Camera2CameraInfo." into androidx-master-dev
diff --git a/camera/camera-camera2/api/public_plus_experimental_1.0.0-beta12.txt b/camera/camera-camera2/api/public_plus_experimental_1.0.0-beta12.txt
index 5a0843c..9777f11 100644
--- a/camera/camera-camera2/api/public_plus_experimental_1.0.0-beta12.txt
+++ b/camera/camera-camera2/api/public_plus_experimental_1.0.0-beta12.txt
@@ -18,7 +18,7 @@
   }
 
   @androidx.camera.camera2.interop.ExperimentalCamera2Interop public final class Camera2CameraInfo {
-    method public static androidx.camera.camera2.interop.Camera2CameraInfo fromCameraInfo(androidx.camera.core.CameraInfo);
+    method public static androidx.camera.camera2.interop.Camera2CameraInfo from(androidx.camera.core.CameraInfo);
     method public <T> T? getCameraCharacteristic(android.hardware.camera2.CameraCharacteristics.Key<T!>);
     method public String getCameraId();
   }
diff --git a/camera/camera-camera2/api/public_plus_experimental_current.txt b/camera/camera-camera2/api/public_plus_experimental_current.txt
index 5a0843c..9777f11 100644
--- a/camera/camera-camera2/api/public_plus_experimental_current.txt
+++ b/camera/camera-camera2/api/public_plus_experimental_current.txt
@@ -18,7 +18,7 @@
   }
 
   @androidx.camera.camera2.interop.ExperimentalCamera2Interop public final class Camera2CameraInfo {
-    method public static androidx.camera.camera2.interop.Camera2CameraInfo fromCameraInfo(androidx.camera.core.CameraInfo);
+    method public static androidx.camera.camera2.interop.Camera2CameraInfo from(androidx.camera.core.CameraInfo);
     method public <T> T? getCameraCharacteristic(android.hardware.camera2.CameraCharacteristics.Key<T!>);
     method public String getCameraId();
   }
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/interop/Camera2InteropDeviceTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/interop/Camera2InteropDeviceTest.java
index 58eb8d2..074e01d 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/interop/Camera2InteropDeviceTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/interop/Camera2InteropDeviceTest.java
@@ -231,7 +231,7 @@
         ImageAnalysis imageAnalysis = new ImageAnalysis.Builder().build();
         mCamera = CameraUtil.createCameraAndAttachUseCase(mContext, mCameraSelector, imageAnalysis);
 
-        String cameraId = Camera2CameraInfo.fromCameraInfo(mCamera.getCameraInfo()).getCameraId();
+        String cameraId = Camera2CameraInfo.from(mCamera.getCameraInfo()).getCameraId();
         cameraIdRef.set(cameraId);
 
         InstrumentationRegistry.getInstrumentation().runOnMainSync(() ->
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/interop/Camera2CameraInfo.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/interop/Camera2CameraInfo.java
index 8f89ece1..eaff42a 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/interop/Camera2CameraInfo.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/interop/Camera2CameraInfo.java
@@ -49,13 +49,13 @@
      *
      * @param cameraInfo The {@link CameraInfo} to get from.
      * @return The camera information with Camera2 implementation.
-     * @throws IllegalStateException if the camera info does not contain the camera2 information
+     * @throws IllegalArgumentException if the camera info does not contain the camera2 information
      *                               (e.g., if CameraX was not initialized with a
      *                               {@link androidx.camera.camera2.Camera2Config}).
      */
     @NonNull
-    public static Camera2CameraInfo fromCameraInfo(@NonNull CameraInfo cameraInfo) {
-        Preconditions.checkState(cameraInfo instanceof Camera2CameraInfoImpl,
+    public static Camera2CameraInfo from(@NonNull CameraInfo cameraInfo) {
+        Preconditions.checkArgument(cameraInfo instanceof Camera2CameraInfoImpl,
                 "CameraInfo doesn't contain Camera2 implementation.");
         return ((Camera2CameraInfoImpl) cameraInfo).getCamera2CameraInfo();
     }
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/interop/Camera2CameraInfoTest.java b/camera/camera-camera2/src/test/java/androidx/camera/camera2/interop/Camera2CameraInfoTest.java
index 4c16aba..9e3f9b4 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/interop/Camera2CameraInfoTest.java
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/interop/Camera2CameraInfoTest.java
@@ -27,9 +27,7 @@
 import androidx.annotation.experimental.UseExperimental;
 import androidx.camera.camera2.internal.Camera2CameraInfoImpl;
 import androidx.camera.camera2.internal.compat.CameraCharacteristicsCompat;
-import androidx.camera.core.Camera;
 import androidx.camera.core.impl.CameraInfoInternal;
-import androidx.camera.testing.fakes.FakeCamera;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -76,20 +74,15 @@
     public void canGetCamera2CameraInfo() {
         Camera2CameraInfo camera2CameraInfo = mock(Camera2CameraInfo.class);
         Camera2CameraInfoImpl cameraInfoImpl = mock(Camera2CameraInfoImpl.class);
-        when(cameraInfoImpl.getCamera2CameraInfo()).thenAnswer(
-                ignored -> camera2CameraInfo);
-        Camera camera = new FakeCamera(null, cameraInfoImpl);
-        Camera2CameraInfo resultCamera2CameraInfo = Camera2CameraInfo.fromCameraInfo(
-                camera.getCameraInfo());
+        when(cameraInfoImpl.getCamera2CameraInfo()).thenAnswer(ignored -> camera2CameraInfo);
+        Camera2CameraInfo resultCamera2CameraInfo = Camera2CameraInfo.from(cameraInfoImpl);
 
         assertThat(resultCamera2CameraInfo).isEqualTo(camera2CameraInfo);
     }
 
-    @Test(expected = IllegalStateException.class)
-    public void getCameraInfoThrows_whenNotCamera2Impl() {
+    @Test(expected = IllegalArgumentException.class)
+    public void fromCameraInfoThrows_whenNotCamera2Impl() {
         CameraInfoInternal wrongCameraInfo = mock(CameraInfoInternal.class);
-        Camera camera = new FakeCamera(null, wrongCameraInfo);
-
-        Camera2CameraInfo.fromCameraInfo(camera.getCameraInfo());
+        Camera2CameraInfo.from(wrongCameraInfo);
     }
 }
diff --git a/camera/camera-extensions/src/main/java/androidx/camera/extensions/ExtensionCameraFilter.java b/camera/camera-extensions/src/main/java/androidx/camera/extensions/ExtensionCameraFilter.java
index c08082a..8a82169 100644
--- a/camera/camera-extensions/src/main/java/androidx/camera/extensions/ExtensionCameraFilter.java
+++ b/camera/camera-extensions/src/main/java/androidx/camera/extensions/ExtensionCameraFilter.java
@@ -68,7 +68,7 @@
             Preconditions.checkState(camera instanceof CameraInternal,
                     "The camera doesn't contain internal implementation.");
             CameraInfo cameraInfo = camera.getCameraInfo();
-            String cameraId = Camera2CameraInfo.fromCameraInfo(cameraInfo).getCameraId();
+            String cameraId = Camera2CameraInfo.from(cameraInfo).getCameraId();
             CameraCharacteristics cameraCharacteristics =
                     Camera2CameraInfo.extractCameraCharacteristics(cameraInfo);
 
diff --git a/camera/camera-extensions/src/main/java/androidx/camera/extensions/ImageCaptureExtender.java b/camera/camera-extensions/src/main/java/androidx/camera/extensions/ImageCaptureExtender.java
index 77f04c7..7b17e0c 100644
--- a/camera/camera-extensions/src/main/java/androidx/camera/extensions/ImageCaptureExtender.java
+++ b/camera/camera-extensions/src/main/java/androidx/camera/extensions/ImageCaptureExtender.java
@@ -245,7 +245,7 @@
         @Override
         public void onAttach(@NonNull CameraInfo cameraInfo) {
             if (mActive.get()) {
-                String cameraId = Camera2CameraInfo.fromCameraInfo(cameraInfo).getCameraId();
+                String cameraId = Camera2CameraInfo.from(cameraInfo).getCameraId();
                 CameraCharacteristics cameraCharacteristics =
                         Camera2CameraInfo.extractCameraCharacteristics(cameraInfo);
                 mImpl.onInit(cameraId, cameraCharacteristics, mContext);
diff --git a/camera/camera-extensions/src/main/java/androidx/camera/extensions/PreviewExtender.java b/camera/camera-extensions/src/main/java/androidx/camera/extensions/PreviewExtender.java
index c12dbcd..17730a0 100644
--- a/camera/camera-extensions/src/main/java/androidx/camera/extensions/PreviewExtender.java
+++ b/camera/camera-extensions/src/main/java/androidx/camera/extensions/PreviewExtender.java
@@ -257,7 +257,7 @@
         public void onAttach(@NonNull CameraInfo cameraInfo) {
             synchronized (mLock) {
                 if (mActive) {
-                    String cameraId = Camera2CameraInfo.fromCameraInfo(cameraInfo).getCameraId();
+                    String cameraId = Camera2CameraInfo.from(cameraInfo).getCameraId();
                     CameraCharacteristics cameraCharacteristics =
                             Camera2CameraInfo.extractCameraCharacteristics(cameraInfo);
                     mImpl.onInit(cameraId, cameraCharacteristics, mContext);
diff --git a/camera/camera-extensions/src/main/java/androidx/camera/extensions/internal/ImageCaptureConfigProvider.java b/camera/camera-extensions/src/main/java/androidx/camera/extensions/internal/ImageCaptureConfigProvider.java
index 92050c3..5c400ef 100644
--- a/camera/camera-extensions/src/main/java/androidx/camera/extensions/internal/ImageCaptureConfigProvider.java
+++ b/camera/camera-extensions/src/main/java/androidx/camera/extensions/internal/ImageCaptureConfigProvider.java
@@ -80,7 +80,7 @@
         }
         mContext = context;
 
-        String cameraId = Camera2CameraInfo.fromCameraInfo(cameraInfo).getCameraId();
+        String cameraId = Camera2CameraInfo.from(cameraInfo).getCameraId();
         CameraCharacteristics cameraCharacteristics =
                 Camera2CameraInfo.extractCameraCharacteristics(cameraInfo);
         mImpl.init(cameraId, cameraCharacteristics);
diff --git a/camera/camera-extensions/src/main/java/androidx/camera/extensions/internal/PreviewConfigProvider.java b/camera/camera-extensions/src/main/java/androidx/camera/extensions/internal/PreviewConfigProvider.java
index ae6be35..76cd238 100644
--- a/camera/camera-extensions/src/main/java/androidx/camera/extensions/internal/PreviewConfigProvider.java
+++ b/camera/camera-extensions/src/main/java/androidx/camera/extensions/internal/PreviewConfigProvider.java
@@ -80,7 +80,7 @@
         }
         mContext = context;
 
-        String cameraId = Camera2CameraInfo.fromCameraInfo(cameraInfo).getCameraId();
+        String cameraId = Camera2CameraInfo.from(cameraInfo).getCameraId();
         CameraCharacteristics cameraCharacteristics =
                 Camera2CameraInfo.extractCameraCharacteristics(cameraInfo);
         mImpl.init(cameraId, cameraCharacteristics);