Move CameraFactory and CameraRepository to internal package.
Bug: b/146236769
Test: ./gradlew camera:camera-core:lintDebug
Change-Id: I6836624663eb24b76d84d75266cb6813f2048c07
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/ImageCaptureTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/ImageCaptureTest.java
index 4a78b35..e8c8fa3 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/ImageCaptureTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/ImageCaptureTest.java
@@ -48,7 +48,6 @@
import androidx.camera.camera2.internal.util.FakeRepeatingUseCase;
import androidx.camera.camera2.interop.Camera2Interop;
import androidx.camera.camera2.interop.ExperimentalCamera2Interop;
-import androidx.camera.core.CameraFactory;
import androidx.camera.core.CameraInfoUnavailableException;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.CameraX;
@@ -61,6 +60,7 @@
import androidx.camera.core.ImageCaptureConfig;
import androidx.camera.core.ImageProxy;
import androidx.camera.core.impl.CameraControlInternal;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.CaptureConfig;
import androidx.camera.core.impl.CaptureProcessor;
import androidx.camera.core.impl.CaptureStage;
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/ImageReaderProxysTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/ImageReaderProxysTest.java
index da1e975..c80edc3 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/ImageReaderProxysTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/ImageReaderProxysTest.java
@@ -29,7 +29,6 @@
import androidx.annotation.NonNull;
import androidx.camera.camera2.internal.Camera2CameraFactory;
import androidx.camera.camera2.internal.Camera2DeviceSurfaceManager;
-import androidx.camera.core.CameraFactory;
import androidx.camera.core.CameraInfoUnavailableException;
import androidx.camera.core.ImageProxy;
import androidx.camera.core.ImageReaderProxy;
@@ -37,6 +36,7 @@
import androidx.camera.core.ImmediateSurface;
import androidx.camera.core.SessionConfig;
import androidx.camera.core.impl.CameraDeviceSurfaceManager;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.CameraInternal;
import androidx.camera.core.impl.utils.executor.CameraXExecutors;
import androidx.camera.testing.CameraUtil;
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/PreviewTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/PreviewTest.java
index b442ceb..7a59a54 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/PreviewTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/PreviewTest.java
@@ -30,13 +30,13 @@
import android.util.Size;
import androidx.annotation.NonNull;
-import androidx.camera.core.CameraFactory;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.CameraX;
import androidx.camera.core.CameraXConfig;
import androidx.camera.core.Preview;
import androidx.camera.core.SessionConfig;
import androidx.camera.core.impl.CameraControlInternal;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.CaptureConfig;
import androidx.camera.core.impl.utils.executor.CameraXExecutors;
import androidx.camera.testing.CameraUtil;
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplTest.java
index 8e788cf..c9752f6 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplTest.java
@@ -45,7 +45,6 @@
import androidx.camera.camera2.internal.util.SemaphoreReleasingCamera2Callbacks;
import androidx.camera.camera2.interop.Camera2Interop;
import androidx.camera.core.CameraControl;
-import androidx.camera.core.CameraFactory;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.ImmediateSurface;
import androidx.camera.core.SessionConfig;
@@ -53,6 +52,7 @@
import androidx.camera.core.UseCaseConfig;
import androidx.camera.core.impl.CameraCaptureCallback;
import androidx.camera.core.impl.CameraCaptureResult;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.CameraInternal;
import androidx.camera.core.impl.CaptureConfig;
import androidx.camera.core.impl.DeferrableSurface;
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2ImplCameraRepositoryTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2ImplCameraRepositoryTest.java
index c71d450..d7da6ac 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2ImplCameraRepositoryTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2ImplCameraRepositoryTest.java
@@ -30,13 +30,13 @@
import androidx.camera.camera2.internal.util.SemaphoreReleasingCamera2Callbacks.SessionStateCallback;
import androidx.camera.camera2.interop.Camera2Interop;
import androidx.camera.camera2.interop.ExperimentalCamera2Interop;
-import androidx.camera.core.CameraFactory;
-import androidx.camera.core.CameraRepository;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.ImmediateSurface;
import androidx.camera.core.SessionConfig;
import androidx.camera.core.UseCaseConfig;
import androidx.camera.core.UseCaseGroup;
+import androidx.camera.core.impl.CameraFactory;
+import androidx.camera.core.impl.CameraRepository;
import androidx.camera.testing.CameraUtil;
import androidx.camera.testing.fakes.FakeUseCase;
import androidx.camera.testing.fakes.FakeUseCaseConfig;
@@ -56,7 +56,7 @@
import java.util.concurrent.TimeUnit;
/**
- * Contains tests for {@link androidx.camera.core.CameraRepository} which require an actual
+ * Contains tests for {@link CameraRepository} which require an actual
* implementation to run.
*/
@LargeTest
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/Camera2Config.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/Camera2Config.java
index 8c4a47b8..f6fd610 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/Camera2Config.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/Camera2Config.java
@@ -23,13 +23,13 @@
import androidx.camera.camera2.internal.ImageCaptureConfigProvider;
import androidx.camera.camera2.internal.PreviewConfigProvider;
import androidx.camera.camera2.internal.VideoCaptureConfigProvider;
-import androidx.camera.core.CameraFactory;
import androidx.camera.core.CameraXConfig;
import androidx.camera.core.ImageAnalysisConfig;
import androidx.camera.core.ImageCaptureConfig;
import androidx.camera.core.PreviewConfig;
import androidx.camera.core.VideoCaptureConfig;
import androidx.camera.core.impl.CameraDeviceSurfaceManager;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.ExtendableUseCaseConfigFactory;
import androidx.camera.core.impl.UseCaseConfigFactory;
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraFactory.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraFactory.java
index 3d41878..ac0c99c 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraFactory.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraFactory.java
@@ -24,10 +24,10 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.camera.camera2.internal.compat.CameraManagerCompat;
-import androidx.camera.core.CameraFactory;
import androidx.camera.core.CameraInfoUnavailableException;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.CameraXThreads;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.CameraInternal;
import androidx.camera.core.impl.LensFacingCameraIdFilter;
import androidx.camera.core.impl.utils.executor.CameraXExecutors;
diff --git a/camera/camera-core/lint-baseline.xml b/camera/camera-core/lint-baseline.xml
index 30cad6b..be987dd 100644
--- a/camera/camera-core/lint-baseline.xml
+++ b/camera/camera-core/lint-baseline.xml
@@ -191,61 +191,6 @@
<issue
id="UnknownNullness"
message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
- errorLine1=" public void init(CameraFactory cameraFactory) {"
- errorLine2=" ~~~~~~~~~~~~~">
- <location
- file="src/main/java/androidx/camera/core/CameraRepository.java"
- line="66"
- column="22"/>
- </issue>
-
- <issue
- id="UnknownNullness"
- message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
- errorLine1=" public CameraInternal getCamera(String cameraId) {"
- errorLine2=" ~~~~~~~~~~~~~~">
- <location
- file="src/main/java/androidx/camera/core/CameraRepository.java"
- line="154"
- column="12"/>
- </issue>
-
- <issue
- id="UnknownNullness"
- message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
- errorLine1=" public CameraInternal getCamera(String cameraId) {"
- errorLine2=" ~~~~~~">
- <location
- file="src/main/java/androidx/camera/core/CameraRepository.java"
- line="154"
- column="37"/>
- </issue>
-
- <issue
- id="UnknownNullness"
- message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
- errorLine1=" public void onGroupActive(UseCaseGroup useCaseGroup) {"
- errorLine2=" ~~~~~~~~~~~~">
- <location
- file="src/main/java/androidx/camera/core/CameraRepository.java"
- line="183"
- column="31"/>
- </issue>
-
- <issue
- id="UnknownNullness"
- message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
- errorLine1=" public void onGroupInactive(UseCaseGroup useCaseGroup) {"
- errorLine2=" ~~~~~~~~~~~~">
- <location
- file="src/main/java/androidx/camera/core/CameraRepository.java"
- line="205"
- column="33"/>
- </issue>
-
- <issue
- id="UnknownNullness"
- message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
errorLine1=" public static CameraInfoInternal getCameraInfo(String cameraId) {"
errorLine2=" ~~~~~~">
<location
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/CameraXTest.java b/camera/camera-core/src/androidTest/java/androidx/camera/core/CameraXTest.java
index b940dd0..18e510f 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/CameraXTest.java
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/CameraXTest.java
@@ -30,6 +30,7 @@
import androidx.annotation.NonNull;
import androidx.camera.core.impl.CameraControlInternal;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.CameraInfoInternal;
import androidx.camera.core.impl.CameraInternal;
import androidx.camera.core.impl.ExtendableUseCaseConfigFactory;
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/UseCaseAttachStateTest.java b/camera/camera-core/src/androidTest/java/androidx/camera/core/UseCaseAttachStateTest.java
index 05184b0..fd9967a 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/UseCaseAttachStateTest.java
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/UseCaseAttachStateTest.java
@@ -30,6 +30,7 @@
import androidx.annotation.NonNull;
import androidx.camera.core.impl.CameraCaptureCallback;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.UseCaseAttachState;
import androidx.camera.testing.DeferrableSurfacesUtil;
import androidx.camera.testing.fakes.FakeAppConfig;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/CameraExecutor.java b/camera/camera-core/src/main/java/androidx/camera/core/CameraExecutor.java
index 388b99b..452951a 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/CameraExecutor.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/CameraExecutor.java
@@ -18,6 +18,7 @@
import androidx.annotation.GuardedBy;
import androidx.annotation.NonNull;
+import androidx.camera.core.impl.CameraFactory;
import androidx.core.util.Preconditions;
import java.util.Locale;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/CameraX.java b/camera/camera-core/src/main/java/androidx/camera/core/CameraX.java
index 3e95496..ff8644a 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/CameraX.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/CameraX.java
@@ -30,9 +30,11 @@
import androidx.annotation.RestrictTo.Scope;
import androidx.camera.core.impl.CameraDeviceConfig;
import androidx.camera.core.impl.CameraDeviceSurfaceManager;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.CameraIdFilter;
import androidx.camera.core.impl.CameraInfoInternal;
import androidx.camera.core.impl.CameraInternal;
+import androidx.camera.core.impl.CameraRepository;
import androidx.camera.core.impl.UseCaseConfigFactory;
import androidx.camera.core.impl.utils.Threads;
import androidx.camera.core.impl.utils.executor.CameraXExecutors;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/CameraXConfig.java b/camera/camera-core/src/main/java/androidx/camera/core/CameraXConfig.java
index 079bff4..68a1518 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/CameraXConfig.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/CameraXConfig.java
@@ -23,6 +23,7 @@
import androidx.annotation.RestrictTo;
import androidx.annotation.RestrictTo.Scope;
import androidx.camera.core.impl.CameraDeviceSurfaceManager;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.UseCaseConfigFactory;
import androidx.camera.core.internal.TargetConfig;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/CameraXThreads.java b/camera/camera-core/src/main/java/androidx/camera/core/CameraXThreads.java
index 09b9120..d56a818 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/CameraXThreads.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/CameraXThreads.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019 The Android Open Source Project
+ * Copyright 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/UseCaseGroup.java b/camera/camera-core/src/main/java/androidx/camera/core/UseCaseGroup.java
index f761ad9..9326837 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/UseCaseGroup.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/UseCaseGroup.java
@@ -19,6 +19,7 @@
import android.util.Log;
import androidx.annotation.GuardedBy;
+import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
import androidx.annotation.RestrictTo.Scope;
import androidx.camera.core.impl.CameraInternal;
@@ -141,7 +142,9 @@
}
}
- Map<String, Set<UseCase>> getCameraIdToUseCaseMap() {
+ /** Returns the map of all the use cases to its attached camera id. */
+ @NonNull
+ public Map<String, Set<UseCase>> getCameraIdToUseCaseMap() {
Map<String, Set<UseCase>> cameraIdToUseCases = new HashMap<>();
synchronized (mUseCasesLock) {
for (UseCase useCase : mUseCases) {
@@ -163,7 +166,7 @@
}
/** Listener called when a {@link UseCaseGroup} transitions between active/inactive states. */
- interface StateChangeCallback {
+ public interface StateChangeCallback {
/**
* Called when a {@link UseCaseGroup} becomes active.
*
@@ -171,7 +174,7 @@
* online. This means that the {@link CameraInternal} should transition to a state as
* close as possible to producing, but prior to actually producing data for the use case.
*/
- void onGroupActive(UseCaseGroup useCaseGroup);
+ void onGroupActive(@NonNull UseCaseGroup useCaseGroup);
/**
* Called when a {@link UseCaseGroup} becomes inactive.
@@ -179,6 +182,6 @@
* <p>When a UseCaseGroup is active then all the contained {@link UseCase} become
* offline.
*/
- void onGroupInactive(UseCaseGroup useCaseGroup);
+ void onGroupInactive(@NonNull UseCaseGroup useCaseGroup);
}
}
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/CameraFactory.java b/camera/camera-core/src/main/java/androidx/camera/core/impl/CameraFactory.java
similarity index 91%
rename from camera/camera-core/src/main/java/androidx/camera/core/CameraFactory.java
rename to camera/camera-core/src/main/java/androidx/camera/core/impl/CameraFactory.java
index c816d2c..e634b2a 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/CameraFactory.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/impl/CameraFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019 The Android Open Source Project
+ * Copyright 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,24 +14,20 @@
* limitations under the License.
*/
-package androidx.camera.core;
+package androidx.camera.core.impl;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.RestrictTo;
-import androidx.camera.core.impl.CameraInternal;
-import androidx.camera.core.impl.LensFacingCameraIdFilter;
+import androidx.camera.core.CameraInfoUnavailableException;
+import androidx.camera.core.CameraSelector;
import java.util.Set;
/**
* The factory class that creates {@link CameraInternal} instances.
- *
- * @hide
*/
-@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public interface CameraFactory {
/**
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/CameraRepository.java b/camera/camera-core/src/main/java/androidx/camera/core/impl/CameraRepository.java
similarity index 94%
rename from camera/camera-core/src/main/java/androidx/camera/core/CameraRepository.java
rename to camera/camera-core/src/main/java/androidx/camera/core/impl/CameraRepository.java
index 5bcd911..54401c7 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/CameraRepository.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/impl/CameraRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019 The Android Open Source Project
+ * Copyright 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package androidx.camera.core;
+package androidx.camera.core.impl;
import android.content.Context;
import android.util.Log;
@@ -23,7 +23,8 @@
import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
import androidx.annotation.RestrictTo.Scope;
-import androidx.camera.core.impl.CameraInternal;
+import androidx.camera.core.UseCase;
+import androidx.camera.core.UseCaseGroup;
import androidx.camera.core.impl.utils.executor.CameraXExecutors;
import androidx.camera.core.impl.utils.futures.Futures;
import androidx.concurrent.futures.CallbackToFutureAdapter;
@@ -38,10 +39,7 @@
/**
* A collection of {@link CameraInternal} instances.
- *
- * @hide
*/
-@RestrictTo(Scope.LIBRARY_GROUP)
public final class CameraRepository implements UseCaseGroup.StateChangeCallback {
private static final String TAG = "CameraRepository";
@@ -64,7 +62,7 @@
* @hide
*/
@RestrictTo(Scope.LIBRARY_GROUP)
- public void init(CameraFactory cameraFactory) {
+ public void init(@NonNull CameraFactory cameraFactory) {
synchronized (mCamerasLock) {
try {
Set<String> camerasList = cameraFactory.getAvailableCameraIds();
@@ -152,7 +150,8 @@
* @hide
*/
@RestrictTo(Scope.LIBRARY_GROUP)
- public CameraInternal getCamera(String cameraId) {
+ @NonNull
+ public CameraInternal getCamera(@NonNull String cameraId) {
synchronized (mCamerasLock) {
CameraInternal cameraInternal = mCameras.get(cameraId);
@@ -169,6 +168,7 @@
*
* @return set of all camera ids
*/
+ @NonNull
Set<String> getCameraIds() {
synchronized (mCamerasLock) {
return new HashSet<>(mCameras.keySet());
@@ -181,7 +181,7 @@
* <p>This will start streaming data to the uses cases which are also online.
*/
@Override
- public void onGroupActive(UseCaseGroup useCaseGroup) {
+ public void onGroupActive(@NonNull UseCaseGroup useCaseGroup) {
synchronized (mCamerasLock) {
Map<String, Set<UseCase>> cameraIdToUseCaseMap = useCaseGroup.getCameraIdToUseCaseMap();
for (Map.Entry<String, Set<UseCase>> cameraUseCaseEntry :
@@ -203,7 +203,7 @@
* use cases.
*/
@Override
- public void onGroupInactive(UseCaseGroup useCaseGroup) {
+ public void onGroupInactive(@NonNull UseCaseGroup useCaseGroup) {
synchronized (mCamerasLock) {
Map<String, Set<UseCase>> cameraIdToUseCaseMap = useCaseGroup.getCameraIdToUseCaseMap();
for (Map.Entry<String, Set<UseCase>> cameraUseCaseEntry :
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/CameraXConfigTest.java b/camera/camera-core/src/test/java/androidx/camera/core/CameraXConfigTest.java
index 1a8762e..1b337d7 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/CameraXConfigTest.java
+++ b/camera/camera-core/src/test/java/androidx/camera/core/CameraXConfigTest.java
@@ -23,6 +23,7 @@
import android.os.Build;
import androidx.camera.core.impl.CameraDeviceSurfaceManager;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.testing.fakes.FakeAppConfig;
import androidx.test.filters.SmallTest;
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/ImageAnalysisTest.java b/camera/camera-core/src/test/java/androidx/camera/core/ImageAnalysisTest.java
index 5c8feab..d30daa2 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/ImageAnalysisTest.java
+++ b/camera/camera-core/src/test/java/androidx/camera/core/ImageAnalysisTest.java
@@ -27,6 +27,7 @@
import android.os.Handler;
import android.os.HandlerThread;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.utils.executor.CameraXExecutors;
import androidx.camera.testing.fakes.FakeAppConfig;
import androidx.camera.testing.fakes.FakeCamera;
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/CameraRepositoryTest.java b/camera/camera-core/src/test/java/androidx/camera/core/impl/CameraRepositoryTest.java
similarity index 97%
rename from camera/camera-core/src/test/java/androidx/camera/core/CameraRepositoryTest.java
rename to camera/camera-core/src/test/java/androidx/camera/core/impl/CameraRepositoryTest.java
index 07f3dc6..a99d6d8 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/CameraRepositoryTest.java
+++ b/camera/camera-core/src/test/java/androidx/camera/core/impl/CameraRepositoryTest.java
@@ -14,13 +14,13 @@
* limitations under the License.
*/
-package androidx.camera.core;
+package androidx.camera.core.impl;
import static com.google.common.truth.Truth.assertThat;
import android.os.Build;
-import androidx.camera.core.impl.CameraInternal;
+import androidx.camera.core.CameraSelector;
import androidx.camera.testing.fakes.FakeCamera;
import androidx.camera.testing.fakes.FakeCameraFactory;
import androidx.camera.testing.fakes.FakeCameraInfoInternal;
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeAppConfig.java b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeAppConfig.java
index 997eb01..0630ec8 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeAppConfig.java
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeAppConfig.java
@@ -17,10 +17,10 @@
package androidx.camera.testing.fakes;
import androidx.annotation.NonNull;
-import androidx.camera.core.CameraFactory;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.CameraXConfig;
import androidx.camera.core.impl.CameraDeviceSurfaceManager;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.ExtendableUseCaseConfigFactory;
/**
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCameraFactory.java b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCameraFactory.java
index 45e821f..67568dc 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCameraFactory.java
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCameraFactory.java
@@ -20,9 +20,9 @@
import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;
import androidx.annotation.RestrictTo.Scope;
-import androidx.camera.core.CameraFactory;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.LensFacingConverter;
+import androidx.camera.core.impl.CameraFactory;
import androidx.camera.core.impl.CameraInternal;
import androidx.camera.core.impl.LensFacingCameraIdFilter;
import androidx.core.util.Pair;