CameraX LIBRARY_GROUP handling - MutableConfig, MutableOptionsBundle and OptionsBundle
Move MutableConfig, MutableOptionsBundle and OptionsBundle to
camera-core/imple
Test: ./gradlew :camera:camera-*:lintDebug, ./gradlew :camera:camera-*:test, ./gradlew :camera:camera-*:connectedAndroidTest
Bug: 146236769
Change-Id: I19406bfd8c34bebe2304f03b068807c1512a68ba
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java
index 7eb1577..29a406a 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java
@@ -50,13 +50,13 @@
import androidx.camera.camera2.impl.CameraEventCallbacks;
import androidx.camera.camera2.internal.CaptureSession.State;
import androidx.camera.core.ImmediateSurface;
-import androidx.camera.core.MutableOptionsBundle;
import androidx.camera.core.SessionConfig;
import androidx.camera.core.impl.CameraCaptureCallback;
import androidx.camera.core.impl.CameraCaptureCallbacks;
import androidx.camera.core.impl.CameraCaptureResult;
import androidx.camera.core.impl.CaptureConfig;
import androidx.camera.core.impl.DeferrableSurface;
+import androidx.camera.core.impl.MutableOptionsBundle;
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-camera2/src/main/java/androidx/camera/camera2/impl/Camera2ImplConfig.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/impl/Camera2ImplConfig.java
index 72454a0..47943aa 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/impl/Camera2ImplConfig.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/impl/Camera2ImplConfig.java
@@ -26,9 +26,9 @@
import androidx.annotation.RestrictTo.Scope;
import androidx.camera.core.Config;
import androidx.camera.core.ExtendableBuilder;
-import androidx.camera.core.MutableConfig;
-import androidx.camera.core.MutableOptionsBundle;
-import androidx.camera.core.OptionsBundle;
+import androidx.camera.core.impl.MutableConfig;
+import androidx.camera.core.impl.MutableOptionsBundle;
+import androidx.camera.core.impl.OptionsBundle;
import java.util.HashSet;
import java.util.Set;
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CaptureOptionUnpacker.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CaptureOptionUnpacker.java
index 3491372..796bf5c 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CaptureOptionUnpacker.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CaptureOptionUnpacker.java
@@ -22,9 +22,9 @@
import androidx.camera.camera2.impl.Camera2ImplConfig;
import androidx.camera.core.Config;
import androidx.camera.core.Config.Option;
-import androidx.camera.core.OptionsBundle;
import androidx.camera.core.UseCaseConfig;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.OptionsBundle;
/**
* A {@link CaptureConfig.OptionUnpacker} implementation for unpacking Camera2 options into
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2SessionOptionUnpacker.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2SessionOptionUnpacker.java
index db273dd..94d7e69 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2SessionOptionUnpacker.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2SessionOptionUnpacker.java
@@ -23,10 +23,10 @@
import androidx.camera.camera2.impl.CameraEventCallbacks;
import androidx.camera.core.Config;
import androidx.camera.core.Config.Option;
-import androidx.camera.core.MutableOptionsBundle;
-import androidx.camera.core.OptionsBundle;
import androidx.camera.core.SessionConfig;
import androidx.camera.core.UseCaseConfig;
+import androidx.camera.core.impl.MutableOptionsBundle;
+import androidx.camera.core.impl.OptionsBundle;
/**
* A {@link SessionConfig.OptionUnpacker} implementation for unpacking Camera2 options into a
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/CaptureSession.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/CaptureSession.java
index 1a49b63..d9b8b70 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/CaptureSession.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/CaptureSession.java
@@ -38,12 +38,12 @@
import androidx.camera.camera2.internal.compat.params.OutputConfigurationCompat;
import androidx.camera.camera2.internal.compat.params.SessionConfigurationCompat;
import androidx.camera.core.Config;
-import androidx.camera.core.MutableOptionsBundle;
import androidx.camera.core.SessionConfig;
import androidx.camera.core.impl.CameraCaptureCallback;
import androidx.camera.core.impl.CaptureConfig;
import androidx.camera.core.impl.DeferrableSurface;
import androidx.camera.core.impl.DeferrableSurfaces;
+import androidx.camera.core.impl.MutableOptionsBundle;
import androidx.camera.core.impl.utils.futures.FutureChain;
import androidx.camera.core.impl.utils.futures.Futures;
import androidx.concurrent.futures.CallbackToFutureAdapter;
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/FakeOtherUseCaseConfig.java b/camera/camera-core/src/androidTest/java/androidx/camera/core/FakeOtherUseCaseConfig.java
index 36d0bb9..3cbaac1 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/FakeOtherUseCaseConfig.java
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/FakeOtherUseCaseConfig.java
@@ -22,6 +22,9 @@
import androidx.camera.core.impl.CameraDeviceConfig;
import androidx.camera.core.impl.CameraIdFilter;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.MutableConfig;
+import androidx.camera.core.impl.MutableOptionsBundle;
+import androidx.camera.core.impl.OptionsBundle;
import java.util.Set;
import java.util.UUID;
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/SessionConfigTest.java b/camera/camera-core/src/androidTest/java/androidx/camera/core/SessionConfigTest.java
index d6972d5..52b6195 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/SessionConfigTest.java
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/SessionConfigTest.java
@@ -27,6 +27,7 @@
import androidx.camera.core.Config.Option;
import androidx.camera.core.impl.CameraCaptureCallback;
import androidx.camera.core.impl.DeferrableSurface;
+import androidx.camera.core.impl.MutableOptionsBundle;
import androidx.camera.testing.DeferrableSurfacesUtil;
import androidx.camera.testing.fakes.FakeMultiValueSet;
import androidx.test.ext.junit.runners.AndroidJUnit4;
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/CaptureConfigTest.java b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/CaptureConfigTest.java
index 9dfda19..a9370aa 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/CaptureConfigTest.java
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/CaptureConfigTest.java
@@ -26,7 +26,6 @@
import androidx.annotation.NonNull;
import androidx.camera.core.Config;
import androidx.camera.core.Config.Option;
-import androidx.camera.core.MutableOptionsBundle;
import androidx.camera.core.SessionConfig;
import androidx.camera.testing.DeferrableSurfacesUtil;
import androidx.test.ext.junit.runners.AndroidJUnit4;
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 68a1518..0a24f92 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
@@ -24,6 +24,9 @@
import androidx.annotation.RestrictTo.Scope;
import androidx.camera.core.impl.CameraDeviceSurfaceManager;
import androidx.camera.core.impl.CameraFactory;
+import androidx.camera.core.impl.MutableConfig;
+import androidx.camera.core.impl.MutableOptionsBundle;
+import androidx.camera.core.impl.OptionsBundle;
import androidx.camera.core.impl.UseCaseConfigFactory;
import androidx.camera.core.internal.TargetConfig;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/ExtendableBuilder.java b/camera/camera-core/src/main/java/androidx/camera/core/ExtendableBuilder.java
index 870897a..ab417ba 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/ExtendableBuilder.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/ExtendableBuilder.java
@@ -18,6 +18,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
+import androidx.camera.core.impl.MutableConfig;
/**
* Extendable builders are used to add externally defined options that can be passed to the
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/ImageAnalysis.java b/camera/camera-core/src/main/java/androidx/camera/core/ImageAnalysis.java
index 77f5008..eade5b6 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/ImageAnalysis.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/ImageAnalysis.java
@@ -56,6 +56,9 @@
import androidx.camera.core.impl.CameraInfoInternal;
import androidx.camera.core.impl.CaptureConfig;
import androidx.camera.core.impl.DeferrableSurface;
+import androidx.camera.core.impl.MutableConfig;
+import androidx.camera.core.impl.MutableOptionsBundle;
+import androidx.camera.core.impl.OptionsBundle;
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/ImageAnalysisConfig.java b/camera/camera-core/src/main/java/androidx/camera/core/ImageAnalysisConfig.java
index f5ec21f..c1cb0c1 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/ImageAnalysisConfig.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/ImageAnalysisConfig.java
@@ -30,6 +30,7 @@
import androidx.camera.core.impl.CameraDeviceConfig;
import androidx.camera.core.impl.CameraIdFilter;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.OptionsBundle;
import java.util.List;
import java.util.Set;
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 994c32f..7d566f1 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
@@ -80,6 +80,9 @@
import androidx.camera.core.impl.CaptureProcessor;
import androidx.camera.core.impl.CaptureStage;
import androidx.camera.core.impl.DeferrableSurface;
+import androidx.camera.core.impl.MutableConfig;
+import androidx.camera.core.impl.MutableOptionsBundle;
+import androidx.camera.core.impl.OptionsBundle;
import androidx.camera.core.impl.utils.Threads;
import androidx.camera.core.impl.utils.executor.CameraXExecutors;
import androidx.camera.core.impl.utils.futures.FutureCallback;
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 00d7e62..175b93e 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
@@ -32,6 +32,7 @@
import androidx.camera.core.impl.CaptureConfig;
import androidx.camera.core.impl.CaptureProcessor;
import androidx.camera.core.impl.CaptureStage;
+import androidx.camera.core.impl.OptionsBundle;
import java.io.File;
import java.util.List;
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 c8f7881..af92cf4 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
@@ -65,6 +65,9 @@
import androidx.camera.core.impl.CaptureConfig;
import androidx.camera.core.impl.CaptureProcessor;
import androidx.camera.core.impl.CaptureStage;
+import androidx.camera.core.impl.MutableConfig;
+import androidx.camera.core.impl.MutableOptionsBundle;
+import androidx.camera.core.impl.OptionsBundle;
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 379049d..cbe67bf 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
@@ -29,6 +29,7 @@
import androidx.camera.core.impl.CameraIdFilter;
import androidx.camera.core.impl.CaptureConfig;
import androidx.camera.core.impl.CaptureProcessor;
+import androidx.camera.core.impl.OptionsBundle;
import java.util.List;
import java.util.Set;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/SessionConfig.java b/camera/camera-core/src/main/java/androidx/camera/core/SessionConfig.java
index 07ebb57..b8274eb 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/SessionConfig.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/SessionConfig.java
@@ -31,6 +31,7 @@
import androidx.camera.core.impl.CaptureConfig;
import androidx.camera.core.impl.DeferrableSurface;
import androidx.camera.core.impl.MultiValueSet;
+import androidx.camera.core.impl.MutableOptionsBundle;
import java.util.ArrayList;
import java.util.Collection;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/VideoCaptureConfig.java b/camera/camera-core/src/main/java/androidx/camera/core/VideoCaptureConfig.java
index 1d337ae..68a1c23 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/VideoCaptureConfig.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/VideoCaptureConfig.java
@@ -29,6 +29,9 @@
import androidx.camera.core.impl.CameraDeviceConfig;
import androidx.camera.core.impl.CameraIdFilter;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.MutableConfig;
+import androidx.camera.core.impl.MutableOptionsBundle;
+import androidx.camera.core.impl.OptionsBundle;
import androidx.camera.core.internal.TargetConfig;
import java.util.List;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/impl/CaptureConfig.java b/camera/camera-core/src/main/java/androidx/camera/core/impl/CaptureConfig.java
index 21aad6e..b551e37 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/impl/CaptureConfig.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/impl/CaptureConfig.java
@@ -24,9 +24,6 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.camera.core.Config;
-import androidx.camera.core.MutableConfig;
-import androidx.camera.core.MutableOptionsBundle;
-import androidx.camera.core.OptionsBundle;
import androidx.camera.core.UseCaseConfig;
import java.util.ArrayList;
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/MutableConfig.java b/camera/camera-core/src/main/java/androidx/camera/core/impl/MutableConfig.java
similarity index 82%
rename from camera/camera-core/src/main/java/androidx/camera/core/MutableConfig.java
rename to camera/camera-core/src/main/java/androidx/camera/core/impl/MutableConfig.java
index 14ee720..1d1ef5d 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/MutableConfig.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/impl/MutableConfig.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,19 +14,17 @@
* limitations under the License.
*/
-package androidx.camera.core;
+package androidx.camera.core.impl;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.RestrictTo;
-import androidx.annotation.RestrictTo.Scope;
+import androidx.camera.core.Config;
/**
* MutableConfig is a {@link Config} that can be modified.
*
* <p>MutableConfig is the interface used to create immutable Config objects.
- * @hide
*/
-@RestrictTo(Scope.LIBRARY_GROUP)
public interface MutableConfig extends Config {
/**
@@ -38,7 +36,7 @@
* @param value The value to insert for this option.
* @param <ValueT> The type of the value being inserted.
*/
- <ValueT> void insertOption(Option<ValueT> opt, ValueT value);
+ <ValueT> void insertOption(@NonNull Option<ValueT> opt, @Nullable ValueT value);
/**
* Removes an option from the configuration if it exists.
@@ -49,5 +47,5 @@
* option did not exist in this configuration.
*/
@Nullable
- <ValueT> ValueT removeOption(Option<ValueT> opt);
+ <ValueT> ValueT removeOption(@NonNull Option<ValueT> opt);
}
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/MutableOptionsBundle.java b/camera/camera-core/src/main/java/androidx/camera/core/impl/MutableOptionsBundle.java
similarity index 84%
rename from camera/camera-core/src/main/java/androidx/camera/core/MutableOptionsBundle.java
rename to camera/camera-core/src/main/java/androidx/camera/core/impl/MutableOptionsBundle.java
index 5a97af5..9321e14 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/MutableOptionsBundle.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/impl/MutableOptionsBundle.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,18 @@
* limitations under the License.
*/
-package androidx.camera.core;
+package androidx.camera.core.impl;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.RestrictTo;
-import androidx.annotation.RestrictTo.Scope;
+import androidx.camera.core.Config;
import java.util.Comparator;
import java.util.TreeMap;
/**
* A MutableOptionsBundle is an {@link OptionsBundle} which allows for insertion/removal.
- *
- * @hide
*/
-@RestrictTo(Scope.LIBRARY_GROUP)
public final class MutableOptionsBundle extends OptionsBundle implements MutableConfig {
private static final Comparator<Option<?>> ID_COMPARE =
@@ -48,6 +45,7 @@
*
* @return an empty MutableOptionsBundle containing no options.
*/
+ @NonNull
public static MutableOptionsBundle create() {
return new MutableOptionsBundle(new TreeMap<>(ID_COMPARE));
}
@@ -58,7 +56,8 @@
* @param otherConfig configuration options to insert.
* @return a MutableOptionsBundle prepopulated with configuration options.
*/
- public static MutableOptionsBundle from(Config otherConfig) {
+ @NonNull
+ public static MutableOptionsBundle from(@NonNull Config otherConfig) {
TreeMap<Option<?>, Object> persistentOptions = new TreeMap<>(ID_COMPARE);
for (Option<?> opt : otherConfig.listOptions()) {
persistentOptions.put(opt, otherConfig.retrieveOption(opt));
@@ -69,7 +68,7 @@
@Nullable
@Override
- public <ValueT> ValueT removeOption(Option<ValueT> opt) {
+ public <ValueT> ValueT removeOption(@NonNull Option<ValueT> opt) {
@SuppressWarnings("unchecked") // Options should have only been inserted via insertOption()
ValueT value = (ValueT) mOptions.remove(opt);
@@ -77,7 +76,7 @@
}
@Override
- public <ValueT> void insertOption(Option<ValueT> opt, ValueT value) {
+ public <ValueT> void insertOption(@NonNull Option<ValueT> opt, @Nullable ValueT value) {
mOptions.put(opt, value);
}
}
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/OptionsBundle.java b/camera/camera-core/src/main/java/androidx/camera/core/impl/OptionsBundle.java
similarity index 95%
rename from camera/camera-core/src/main/java/androidx/camera/core/OptionsBundle.java
rename to camera/camera-core/src/main/java/androidx/camera/core/impl/OptionsBundle.java
index b00e5f4..ba2faa0 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/OptionsBundle.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/impl/OptionsBundle.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,12 +14,11 @@
* limitations under the License.
*/
-package androidx.camera.core;
+package androidx.camera.core.impl;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.RestrictTo;
-import androidx.annotation.RestrictTo.Scope;
+import androidx.camera.core.Config;
import java.util.Collections;
import java.util.Comparator;
@@ -32,10 +31,7 @@
*
* <p>OptionsBundle is a collection of {@link Config.Option}s and their values which can be
* queried based on exact {@link Config.Option} objects or based on Option ids.
- *
- * @hide
*/
-@RestrictTo(Scope.LIBRARY_GROUP)
public class OptionsBundle implements Config {
private static final OptionsBundle EMPTY_BUNDLE =
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/impl/utils/CameraSelectorUtil.java b/camera/camera-core/src/main/java/androidx/camera/core/impl/utils/CameraSelectorUtil.java
index c8d06c3..fbb1ba8 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/impl/utils/CameraSelectorUtil.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/impl/utils/CameraSelectorUtil.java
@@ -23,10 +23,10 @@
import androidx.annotation.Nullable;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.Config;
-import androidx.camera.core.MutableOptionsBundle;
-import androidx.camera.core.OptionsBundle;
import androidx.camera.core.impl.CameraDeviceConfig;
import androidx.camera.core.impl.CameraIdFilter;
+import androidx.camera.core.impl.MutableOptionsBundle;
+import androidx.camera.core.impl.OptionsBundle;
import androidx.camera.core.internal.CameraIdFilterSet;
import java.util.Set;
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/MutableOptionsBundleTest.java b/camera/camera-core/src/test/java/androidx/camera/core/impl/MutableOptionsBundleTest.java
similarity index 95%
rename from camera/camera-core/src/test/java/androidx/camera/core/MutableOptionsBundleTest.java
rename to camera/camera-core/src/test/java/androidx/camera/core/impl/MutableOptionsBundleTest.java
index d45aaf1..5863cfc 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/MutableOptionsBundleTest.java
+++ b/camera/camera-core/src/test/java/androidx/camera/core/impl/MutableOptionsBundleTest.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,12 +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.Config;
import androidx.camera.core.Config.Option;
import androidx.test.filters.SmallTest;
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/OptionsBundleTest.java b/camera/camera-core/src/test/java/androidx/camera/core/impl/OptionsBundleTest.java
similarity index 97%
rename from camera/camera-core/src/test/java/androidx/camera/core/OptionsBundleTest.java
rename to camera/camera-core/src/test/java/androidx/camera/core/impl/OptionsBundleTest.java
index a4f11d2..313abe4 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/OptionsBundleTest.java
+++ b/camera/camera-core/src/test/java/androidx/camera/core/impl/OptionsBundleTest.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,12 +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.Config;
import androidx.camera.core.Config.Option;
import androidx.test.filters.SmallTest;
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeConfig.java b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeConfig.java
index 7876e0f..d275718 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeConfig.java
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeConfig.java
@@ -22,9 +22,9 @@
import androidx.annotation.RestrictTo.Scope;
import androidx.camera.core.Config;
import androidx.camera.core.ExtendableBuilder;
-import androidx.camera.core.MutableConfig;
-import androidx.camera.core.MutableOptionsBundle;
-import androidx.camera.core.OptionsBundle;
+import androidx.camera.core.impl.MutableConfig;
+import androidx.camera.core.impl.MutableOptionsBundle;
+import androidx.camera.core.impl.OptionsBundle;
import java.util.Set;
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeUseCaseConfig.java b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeUseCaseConfig.java
index 6d8d02c..8237275 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeUseCaseConfig.java
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeUseCaseConfig.java
@@ -25,15 +25,15 @@
import androidx.camera.core.CameraSelector;
import androidx.camera.core.Config;
import androidx.camera.core.ImageOutputConfig;
-import androidx.camera.core.MutableConfig;
-import androidx.camera.core.MutableOptionsBundle;
-import androidx.camera.core.OptionsBundle;
import androidx.camera.core.SessionConfig;
import androidx.camera.core.UseCase;
import androidx.camera.core.UseCaseConfig;
import androidx.camera.core.impl.CameraDeviceConfig;
import androidx.camera.core.impl.CameraIdFilter;
import androidx.camera.core.impl.CaptureConfig;
+import androidx.camera.core.impl.MutableConfig;
+import androidx.camera.core.impl.MutableOptionsBundle;
+import androidx.camera.core.impl.OptionsBundle;
import java.util.List;
import java.util.Set;