Move restriceted classes to internal package (Utils and Extensions
related).
Bug: b/146236769
Test: ./gradlew camera:camera-core:lintDebug
Change-Id: I546597dd51f36d9ce26bd8cf485f68748fdc24a8
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 314ecdc..4a78b35 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
@@ -54,8 +54,6 @@
import androidx.camera.core.CameraX;
import androidx.camera.core.CameraXConfig;
import androidx.camera.core.CaptureBundle;
-import androidx.camera.core.CaptureProcessor;
-import androidx.camera.core.CaptureStage;
import androidx.camera.core.ImageCapture;
import androidx.camera.core.ImageCapture.Metadata;
import androidx.camera.core.ImageCapture.OnImageCapturedCallback;
@@ -64,6 +62,8 @@
import androidx.camera.core.ImageProxy;
import androidx.camera.core.impl.CameraControlInternal;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.CaptureProcessor;
+import androidx.camera.core.impl.CaptureStage;
import androidx.camera.core.impl.utils.Exif;
import androidx.camera.testing.CameraUtil;
import androidx.camera.testing.fakes.FakeCameraControl;
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraInfoImpl.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraInfoImpl.java
index 63f0550..b170141 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraInfoImpl.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraInfoImpl.java
@@ -22,10 +22,10 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.camera.core.CameraOrientationUtil;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.ImageOutputConfig.RotationValue;
import androidx.camera.core.impl.CameraInfoInternal;
+import androidx.camera.core.impl.utils.CameraOrientationUtil;
import androidx.core.util.Preconditions;
import androidx.lifecycle.LiveData;
diff --git a/camera/camera-core/lint-baseline.xml b/camera/camera-core/lint-baseline.xml
index b3084a8..30cad6b 100644
--- a/camera/camera-core/lint-baseline.xml
+++ b/camera/camera-core/lint-baseline.xml
@@ -268,21 +268,10 @@
<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=" List<CaptureStage> getCaptureStages();"
- errorLine2=" ~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/java/androidx/camera/core/CaptureBundle.java"
- line="35"
- column="5"/>
- </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=" void onOutputSurface(Surface surface, int imageFormat);"
errorLine2=" ~~~~~~~">
<location
- file="src/main/java/androidx/camera/core/CaptureProcessor.java"
+ file="src/main/java/androidx/camera/core/impl/CaptureProcessor.java"
line="39"
column="26"/>
</issue>
@@ -293,7 +282,7 @@
errorLine1=" void process(ImageProxyBundle bundle);"
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
- file="src/main/java/androidx/camera/core/CaptureProcessor.java"
+ file="src/main/java/androidx/camera/core/impl/CaptureProcessor.java"
line="51"
column="18"/>
</issue>
@@ -304,7 +293,7 @@
errorLine1=" void onResolutionUpdate(Size size);"
errorLine2=" ~~~~">
<location
- file="src/main/java/androidx/camera/core/CaptureProcessor.java"
+ file="src/main/java/androidx/camera/core/impl/CaptureProcessor.java"
line="58"
column="29"/>
</issue>
@@ -315,7 +304,7 @@
errorLine1=" CaptureConfig getCaptureConfig();"
errorLine2=" ~~~~~~~~~~~~~">
<location
- file="src/main/java/androidx/camera/core/CaptureStage.java"
+ file="src/main/java/androidx/camera/core/impl/CaptureStage.java"
line="36"
column="5"/>
</issue>
@@ -326,7 +315,7 @@
errorLine1=" public CaptureConfig getCaptureConfig() {"
errorLine2=" ~~~~~~~~~~~~~">
<location
- file="src/main/java/androidx/camera/core/CaptureStage.java"
+ file="src/main/java/androidx/camera/core/impl/CaptureStage.java"
line="55"
column="16"/>
</issue>
@@ -686,17 +675,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 FailureType getFailureType() {"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="src/main/java/androidx/camera/core/ImageUtil.java"
- line="291"
- column="16"/>
- </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 Handler getInstance() {"
errorLine2=" ~~~~~~~">
<location
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/ProcessingSurfaceTest.java b/camera/camera-core/src/androidTest/java/androidx/camera/core/ProcessingSurfaceTest.java
index 3bc6251..5dde8d0 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/ProcessingSurfaceTest.java
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/ProcessingSurfaceTest.java
@@ -29,6 +29,8 @@
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.camera.core.impl.CameraCaptureCallback;
+import androidx.camera.core.impl.CaptureProcessor;
+import androidx.camera.core.impl.CaptureStage;
import androidx.camera.core.impl.DeferrableSurface;
import androidx.camera.core.impl.utils.executor.CameraXExecutors;
import androidx.camera.core.impl.utils.futures.Futures;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/CaptureBundle.java b/camera/camera-core/src/main/java/androidx/camera/core/CaptureBundle.java
index 3a52540..1c7dfab 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/CaptureBundle.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/CaptureBundle.java
@@ -16,8 +16,10 @@
package androidx.camera.core;
+import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;
import androidx.annotation.RestrictTo.Scope;
+import androidx.camera.core.impl.CaptureStage;
import java.util.List;
@@ -28,9 +30,9 @@
*/
@RestrictTo(Scope.LIBRARY_GROUP)
public interface CaptureBundle {
-
/**
* Returns a list of {@link CaptureStage} in order of how they are to be issued.
*/
+ @Nullable
List<CaptureStage> getCaptureStages();
}
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/CaptureBundles.java b/camera/camera-core/src/main/java/androidx/camera/core/CaptureBundles.java
index 7ebb068..66efdd6 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/CaptureBundles.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/CaptureBundles.java
@@ -16,8 +16,10 @@
package androidx.camera.core;
+import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
import androidx.annotation.RestrictTo.Scope;
+import androidx.camera.core.impl.CaptureStage;
import java.util.ArrayList;
import java.util.Arrays;
@@ -37,7 +39,8 @@
}
/** Returns a {@link CaptureBundle} which contains a list of {@link CaptureStage}. */
- static CaptureBundle createCaptureBundle(CaptureStage ... captureStages) {
+ @NonNull
+ static CaptureBundle createCaptureBundle(CaptureStage... captureStages) {
return new CaptureBundleImpl(Arrays.asList(captureStages));
}
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/ImageCapture.java b/camera/camera-core/src/main/java/androidx/camera/core/ImageCapture.java
index e15c9e0..994c32f 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/ImageCapture.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/ImageCapture.java
@@ -77,6 +77,8 @@
import androidx.camera.core.impl.CameraIdFilter;
import androidx.camera.core.impl.CameraInfoInternal;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.CaptureProcessor;
+import androidx.camera.core.impl.CaptureStage;
import androidx.camera.core.impl.DeferrableSurface;
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/ImageCaptureConfig.java b/camera/camera-core/src/main/java/androidx/camera/core/ImageCaptureConfig.java
index ac6d7bc..00d7e62 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/ImageCaptureConfig.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/ImageCaptureConfig.java
@@ -30,6 +30,8 @@
import androidx.camera.core.impl.CameraDeviceConfig;
import androidx.camera.core.impl.CameraIdFilter;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.CaptureProcessor;
+import androidx.camera.core.impl.CaptureStage;
import java.io.File;
import java.util.List;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/ImageInfoProcessor.java b/camera/camera-core/src/main/java/androidx/camera/core/ImageInfoProcessor.java
index 52c70cb..0d0be8c 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/ImageInfoProcessor.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/ImageInfoProcessor.java
@@ -18,6 +18,7 @@
import androidx.annotation.RestrictTo;
import androidx.annotation.RestrictTo.Scope;
+import androidx.camera.core.impl.CaptureStage;
/**
* A processing step that updates the necessary {@link CaptureStage} based on the current
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/ImageUtil.java b/camera/camera-core/src/main/java/androidx/camera/core/ImageUtil.java
index f2f0663..a6851bc 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/ImageUtil.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/ImageUtil.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.
@@ -26,9 +26,8 @@
import android.util.Rational;
import android.util.Size;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.RestrictTo;
-import androidx.annotation.RestrictTo.Scope;
import androidx.camera.core.ImageOutputConfig.RotationValue;
import java.io.ByteArrayOutputStream;
@@ -37,10 +36,7 @@
/**
* Utility class for image related operations.
- *
- * @hide
*/
-@RestrictTo(Scope.LIBRARY_GROUP)
final class ImageUtil {
private static final String TAG = "ImageUtil";
@@ -48,7 +44,9 @@
}
/** {@link android.media.Image} to JPEG byte array. */
- public static byte[] imageToJpegByteArray(ImageProxy image) throws CodecFailedException {
+ @Nullable
+ public static byte[] imageToJpegByteArray(@NonNull ImageProxy image)
+ throws CodecFailedException {
byte[] data = null;
if (image.getFormat() == ImageFormat.JPEG) {
data = jpegImageToJpegByteArray(image);
@@ -61,7 +59,9 @@
}
/** Crops byte array with given {@link android.graphics.Rect}. */
- public static byte[] cropByteArray(byte[] data, Rect cropRect) throws CodecFailedException {
+ @NonNull
+ public static byte[] cropByteArray(@NonNull byte[] data, @Nullable Rect cropRect)
+ throws CodecFailedException {
if (cropRect == null) {
return data;
}
@@ -97,12 +97,13 @@
}
/** True if the given aspect ratio is meaningful. */
- public static boolean isAspectRatioValid(Rational aspectRatio) {
+ public static boolean isAspectRatioValid(@Nullable Rational aspectRatio) {
return aspectRatio != null && aspectRatio.floatValue() > 0 && !aspectRatio.isNaN();
}
/** True if the given aspect ratio is meaningful and has effect on the given size. */
- public static boolean isAspectRatioValid(Size sourceSize, Rational aspectRatio) {
+ public static boolean isAspectRatioValid(@NonNull Size sourceSize,
+ @Nullable Rational aspectRatio) {
return aspectRatio != null
&& aspectRatio.floatValue() > 0
&& isCropAspectRatioHasEffect(sourceSize, aspectRatio)
@@ -113,7 +114,9 @@
* Calculates crop rect with the specified aspect ratio on the given size. Assuming the rect is
* at the center of the source.
*/
- public static Rect computeCropRectFromAspectRatio(Size sourceSize, Rational aspectRatio) {
+ @Nullable
+ public static Rect computeCropRectFromAspectRatio(@NonNull Size sourceSize,
+ @NonNull Rational aspectRatio) {
if (!isAspectRatioValid(aspectRatio)) {
Log.w(TAG, "Invalid view ratio.");
return null;
@@ -146,8 +149,9 @@
* @param rational Rational to be rotated.
* @param rotation Rotation value being applied.
*/
+ @NonNull
public static Rational rotate(
- Rational rational, @RotationValue int rotation) {
+ @NonNull Rational rational, @RotationValue int rotation) {
if (rotation == 90 || rotation == 270) {
return inverseRational(rational);
}
@@ -288,6 +292,7 @@
mFailureType = failureType;
}
+ @NonNull
public FailureType getFailureType() {
return mFailureType;
}
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/Preview.java b/camera/camera-core/src/main/java/androidx/camera/core/Preview.java
index 57ca9b6..c8f7881 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/Preview.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/Preview.java
@@ -63,6 +63,8 @@
import androidx.camera.core.impl.CameraIdFilter;
import androidx.camera.core.impl.CameraInternal;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.CaptureProcessor;
+import androidx.camera.core.impl.CaptureStage;
import androidx.camera.core.impl.utils.Threads;
import androidx.camera.core.impl.utils.executor.CameraXExecutors;
import androidx.camera.core.internal.TargetConfig;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/PreviewConfig.java b/camera/camera-core/src/main/java/androidx/camera/core/PreviewConfig.java
index 441366a..379049d 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/PreviewConfig.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/PreviewConfig.java
@@ -28,6 +28,7 @@
import androidx.camera.core.impl.CameraDeviceConfig;
import androidx.camera.core.impl.CameraIdFilter;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.CaptureProcessor;
import java.util.List;
import java.util.Set;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/ProcessingImageReader.java b/camera/camera-core/src/main/java/androidx/camera/core/ProcessingImageReader.java
index 16ac083..000f67d 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/ProcessingImageReader.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/ProcessingImageReader.java
@@ -26,6 +26,8 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.camera.core.impl.CameraCaptureCallback;
+import androidx.camera.core.impl.CaptureProcessor;
+import androidx.camera.core.impl.CaptureStage;
import androidx.camera.core.impl.utils.executor.CameraXExecutors;
import androidx.camera.core.impl.utils.futures.FutureCallback;
import androidx.camera.core.impl.utils.futures.Futures;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/ProcessingSurface.java b/camera/camera-core/src/main/java/androidx/camera/core/ProcessingSurface.java
index ea33ea8..c5469c1 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/ProcessingSurface.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/ProcessingSurface.java
@@ -31,6 +31,8 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.camera.core.impl.CameraCaptureCallback;
+import androidx.camera.core.impl.CaptureProcessor;
+import androidx.camera.core.impl.CaptureStage;
import androidx.camera.core.impl.DeferrableSurface;
import androidx.camera.core.impl.utils.futures.FutureCallback;
import androidx.camera.core.impl.utils.futures.Futures;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/CaptureProcessor.java b/camera/camera-core/src/main/java/androidx/camera/core/impl/CaptureProcessor.java
similarity index 89%
rename from camera/camera-core/src/main/java/androidx/camera/core/CaptureProcessor.java
rename to camera/camera-core/src/main/java/androidx/camera/core/impl/CaptureProcessor.java
index 8dfe987..1701a5e 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/CaptureProcessor.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/impl/CaptureProcessor.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,20 +14,17 @@
* limitations under the License.
*/
-package androidx.camera.core;
+package androidx.camera.core.impl;
import android.util.Size;
import android.view.Surface;
-import androidx.annotation.RestrictTo;
-import androidx.annotation.RestrictTo.Scope;
+import androidx.camera.core.ImageProxy;
+import androidx.camera.core.ImageProxyBundle;
/**
* A processing step of the image capture pipeline.
- *
- * @hide
*/
-@RestrictTo(Scope.LIBRARY_GROUP)
public interface CaptureProcessor {
/**
* This gets called to update where the CaptureProcessor should write the output of {@link
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/CaptureStage.java b/camera/camera-core/src/main/java/androidx/camera/core/impl/CaptureStage.java
similarity index 85%
rename from camera/camera-core/src/main/java/androidx/camera/core/CaptureStage.java
rename to camera/camera-core/src/main/java/androidx/camera/core/impl/CaptureStage.java
index bda28b1..a93bf97 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/CaptureStage.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/impl/CaptureStage.java
@@ -14,18 +14,11 @@
* limitations under the License.
*/
-package androidx.camera.core;
-
-import androidx.annotation.RestrictTo;
-import androidx.annotation.RestrictTo.Scope;
-import androidx.camera.core.impl.CaptureConfig;
+package androidx.camera.core.impl;
/**
* A {@link CaptureConfig} with an identifier.
- *
- * @hide
*/
-@RestrictTo(Scope.LIBRARY_GROUP)
public interface CaptureStage {
/** Returns the identifier for the capture. */
@@ -42,7 +35,7 @@
final class DefaultCaptureStage implements CaptureStage {
private final CaptureConfig mCaptureConfig;
- DefaultCaptureStage() {
+ public DefaultCaptureStage() {
CaptureConfig.Builder builder = new CaptureConfig.Builder();
mCaptureConfig = builder.build();
}
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/CameraOrientationUtil.java b/camera/camera-core/src/main/java/androidx/camera/core/impl/utils/CameraOrientationUtil.java
similarity index 94%
rename from camera/camera-core/src/main/java/androidx/camera/core/CameraOrientationUtil.java
rename to camera/camera-core/src/main/java/androidx/camera/core/impl/utils/CameraOrientationUtil.java
index 59e43cc..183d401 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/CameraOrientationUtil.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/impl/utils/CameraOrientationUtil.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,21 +14,16 @@
* limitations under the License.
*/
-package androidx.camera.core;
+package androidx.camera.core.impl.utils;
import android.util.Log;
import android.view.Surface;
-import androidx.annotation.RestrictTo;
-import androidx.annotation.RestrictTo.Scope;
import androidx.camera.core.ImageOutputConfig.RotationValue;
/**
* Contains utility methods related to camera orientation.
- *
- * @hide
*/
-@RestrictTo(Scope.LIBRARY_GROUP)
public final class CameraOrientationUtil {
private static final String TAG = "CameraOrientationUtil";
private static final boolean DEBUG = false;
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/CaptureBundleTest.java b/camera/camera-core/src/test/java/androidx/camera/core/CaptureBundleTest.java
index 929101f..42539c1 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/CaptureBundleTest.java
+++ b/camera/camera-core/src/test/java/androidx/camera/core/CaptureBundleTest.java
@@ -20,6 +20,7 @@
import android.os.Build;
+import androidx.camera.core.impl.CaptureStage;
import androidx.camera.testing.fakes.FakeCaptureStage;
import androidx.test.filters.SmallTest;
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/ProcessingImageReaderTest.java b/camera/camera-core/src/test/java/androidx/camera/core/ProcessingImageReaderTest.java
index d735595..f933ce7 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/ProcessingImageReaderTest.java
+++ b/camera/camera-core/src/test/java/androidx/camera/core/ProcessingImageReaderTest.java
@@ -27,6 +27,8 @@
import android.util.Size;
import android.view.Surface;
+import androidx.camera.core.impl.CaptureProcessor;
+import androidx.camera.core.impl.CaptureStage;
import androidx.camera.testing.fakes.FakeCaptureStage;
import androidx.camera.testing.fakes.FakeImageReaderProxy;
import androidx.test.filters.SmallTest;
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/CaptureStagesTest.java b/camera/camera-core/src/test/java/androidx/camera/core/impl/CaptureStagesTest.java
similarity index 97%
rename from camera/camera-core/src/test/java/androidx/camera/core/CaptureStagesTest.java
rename to camera/camera-core/src/test/java/androidx/camera/core/impl/CaptureStagesTest.java
index fdc808e..551c8ed 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/CaptureStagesTest.java
+++ b/camera/camera-core/src/test/java/androidx/camera/core/impl/CaptureStagesTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package androidx.camera.core;
+package androidx.camera.core.impl;
import static com.google.common.truth.Truth.assertThat;
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageCaptureExtenderTest.java b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageCaptureExtenderTest.java
index 2060982..69a38e4 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageCaptureExtenderTest.java
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageCaptureExtenderTest.java
@@ -44,8 +44,8 @@
import androidx.camera.core.CameraInfoUnavailableException;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.CameraX;
-import androidx.camera.core.CaptureProcessor;
import androidx.camera.core.ImageCapture;
+import androidx.camera.core.impl.CaptureProcessor;
import androidx.camera.extensions.ExtensionsManager.EffectMode;
import androidx.camera.extensions.impl.CaptureStageImpl;
import androidx.camera.extensions.impl.ImageCaptureExtenderImpl;
diff --git a/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingCaptureProcessor.java b/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingCaptureProcessor.java
index b4ff326..1a87666 100644
--- a/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingCaptureProcessor.java
+++ b/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingCaptureProcessor.java
@@ -25,12 +25,12 @@
import androidx.camera.camera2.impl.Camera2CameraCaptureResultConverter;
import androidx.camera.core.CameraCaptureResults;
-import androidx.camera.core.CaptureProcessor;
import androidx.camera.core.ExperimentalGetImage;
import androidx.camera.core.ImageInfo;
import androidx.camera.core.ImageProxy;
import androidx.camera.core.ImageProxyBundle;
import androidx.camera.core.impl.CameraCaptureResult;
+import androidx.camera.core.impl.CaptureProcessor;
import androidx.camera.extensions.impl.CaptureProcessorImpl;
import com.google.common.util.concurrent.ListenableFuture;
diff --git a/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingCaptureStage.java b/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingCaptureStage.java
index 0372643..d10ecd7 100644
--- a/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingCaptureStage.java
+++ b/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingCaptureStage.java
@@ -20,8 +20,8 @@
import android.util.Pair;
import androidx.camera.camera2.impl.Camera2ImplConfig;
-import androidx.camera.core.CaptureStage;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.CaptureStage;
import androidx.camera.extensions.impl.CaptureStageImpl;
/** A {@link CaptureStage} that calls a vendor provided implementation. */
diff --git a/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingPreviewProcessor.java b/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingPreviewProcessor.java
index 53d02d9..e56590e 100644
--- a/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingPreviewProcessor.java
+++ b/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingPreviewProcessor.java
@@ -25,12 +25,12 @@
import androidx.camera.camera2.impl.Camera2CameraCaptureResultConverter;
import androidx.camera.core.CameraCaptureResults;
-import androidx.camera.core.CaptureProcessor;
import androidx.camera.core.ExperimentalGetImage;
import androidx.camera.core.ImageInfo;
import androidx.camera.core.ImageProxy;
import androidx.camera.core.ImageProxyBundle;
import androidx.camera.core.impl.CameraCaptureResult;
+import androidx.camera.core.impl.CaptureProcessor;
import androidx.camera.extensions.impl.PreviewImageProcessorImpl;
import androidx.core.util.Preconditions;
diff --git a/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingRequestUpdateProcessor.java b/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingRequestUpdateProcessor.java
index 29582e7..9f13217 100644
--- a/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingRequestUpdateProcessor.java
+++ b/camera/camera-extensions/src/main/java/androidx/camera/extensions/AdaptingRequestUpdateProcessor.java
@@ -21,10 +21,10 @@
import androidx.camera.camera2.impl.Camera2CameraCaptureResultConverter;
import androidx.camera.core.CameraCaptureResults;
-import androidx.camera.core.CaptureStage;
import androidx.camera.core.ImageInfo;
import androidx.camera.core.ImageInfoProcessor;
import androidx.camera.core.impl.CameraCaptureResult;
+import androidx.camera.core.impl.CaptureStage;
import androidx.camera.extensions.impl.CaptureStageImpl;
import androidx.camera.extensions.impl.PreviewExtenderImpl;
import androidx.camera.extensions.impl.RequestUpdateProcessorImpl;
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 2b15297..386cba7 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
@@ -32,12 +32,12 @@
import androidx.camera.core.CameraSelector;
import androidx.camera.core.CameraX;
import androidx.camera.core.CaptureBundle;
-import androidx.camera.core.CaptureStage;
import androidx.camera.core.Config;
import androidx.camera.core.ImageCapture;
import androidx.camera.core.UseCase;
import androidx.camera.core.impl.CameraIdFilter;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.CaptureStage;
import androidx.camera.core.impl.utils.CameraSelectorUtil;
import androidx.camera.extensions.ExtensionsErrorListener.ExtensionsErrorCode;
import androidx.camera.extensions.ExtensionsManager.EffectMode;
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/TimestampCaptureProcessor.java b/camera/camera-testing/src/main/java/androidx/camera/testing/TimestampCaptureProcessor.java
index c9d5d97..bcea7dd 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/TimestampCaptureProcessor.java
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/TimestampCaptureProcessor.java
@@ -22,10 +22,10 @@
import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
-import androidx.camera.core.CaptureProcessor;
import androidx.camera.core.ExperimentalGetImage;
import androidx.camera.core.ImageProxy;
import androidx.camera.core.ImageProxyBundle;
+import androidx.camera.core.impl.CaptureProcessor;
import androidx.core.util.Preconditions;
import com.google.common.util.concurrent.ListenableFuture;
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCameraInfoInternal.java b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCameraInfoInternal.java
index 14fb8a9..218feb9 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCameraInfoInternal.java
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCameraInfoInternal.java
@@ -20,11 +20,11 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.camera.core.CameraOrientationUtil;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.ImageOutputConfig.RotationValue;
import androidx.camera.core.TorchState;
import androidx.camera.core.impl.CameraInfoInternal;
+import androidx.camera.core.impl.utils.CameraOrientationUtil;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCaptureStage.java b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCaptureStage.java
index 94d8bad..41a920f 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCaptureStage.java
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeCaptureStage.java
@@ -18,8 +18,8 @@
import androidx.annotation.RestrictTo;
import androidx.annotation.RestrictTo.Scope;
-import androidx.camera.core.CaptureStage;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.CaptureStage;
/**
* A fake {@link CaptureStage} where the values can be set.
diff --git a/camera/camera-view/src/main/java/androidx/camera/view/CameraXModule.java b/camera/camera-view/src/main/java/androidx/camera/view/CameraXModule.java
index 49e9ab4..d3d73e0 100644
--- a/camera/camera-view/src/main/java/androidx/camera/view/CameraXModule.java
+++ b/camera/camera-view/src/main/java/androidx/camera/view/CameraXModule.java
@@ -35,7 +35,6 @@
import androidx.annotation.UiThread;
import androidx.camera.core.AspectRatio;
import androidx.camera.core.Camera;
-import androidx.camera.core.CameraOrientationUtil;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.CameraX;
import androidx.camera.core.ImageCapture;
@@ -48,6 +47,7 @@
import androidx.camera.core.VideoCapture;
import androidx.camera.core.VideoCapture.OnVideoSavedCallback;
import androidx.camera.core.VideoCaptureConfig;
+import androidx.camera.core.impl.utils.CameraOrientationUtil;
import androidx.camera.core.impl.utils.executor.CameraXExecutors;
import androidx.camera.core.impl.utils.futures.FutureCallback;
import androidx.camera.core.impl.utils.futures.Futures;
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewProcessorTimestampTest.java b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewProcessorTimestampTest.java
index 1a7a11f..e21b39b 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewProcessorTimestampTest.java
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewProcessorTimestampTest.java
@@ -39,11 +39,11 @@
import androidx.camera.camera2.interop.ExperimentalCamera2Interop;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.CameraX;
-import androidx.camera.core.CaptureProcessor;
import androidx.camera.core.ImageAnalysis;
import androidx.camera.core.ImageCapture;
import androidx.camera.core.Preview;
import androidx.camera.core.PreviewConfig;
+import androidx.camera.core.impl.CaptureProcessor;
import androidx.camera.extensions.AutoImageCaptureExtender;
import androidx.camera.extensions.AutoPreviewExtender;
import androidx.camera.extensions.BeautyImageCaptureExtender;