Move camera2 and testing out of impl directory

  Flattens the directory structure to make it a closer match to other
  libraries. Also removes some unused files and old gradle build files.

Bug: 121003129
Test: None for this change.
Change-Id: Ia66277531dd9bebf945238c95bca851e4ef223de
diff --git a/camera/build.gradle b/camera/build.gradle
deleted file mode 100644
index 6198e28..0000000
--- a/camera/build.gradle
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 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.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-apply from: 'common/constants.gradle'
-apply plugin: 'io.pry.gradle.offline_dependencies'
-
-buildscript {
-    repositories {
-        maven {
-            url "${rootProject.projectDir}/" + offlineRepositoryRoot
-        }
-        // When offline, use only the offline repository.
-        if (gradle.startParameter.isOffline()) {
-            return
-        }
-        maven {
-            url 'https://plugins.gradle.org/m2/'
-        }
-        google()
-        jcenter()
-    }
-
-    dependencies {
-        classpath 'com.android.tools.build:gradle:3.1.0'
-        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.0'
-        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
-        classpath 'gradle.plugin.io.pry.gradle.offline_dependencies:gradle-offline-dependencies-plugin:0.4'
-    }
-}
-
-offlineDependencies {
-    repositories {
-        maven {
-            url 'https://plugins.gradle.org/m2/'
-        }
-        google()
-        jcenter()
-    }
-
-    includeSources = true
-    includeJavadocs = true
-    includePoms = true
-    includeIvyXmls = true
-    includeBuildscriptDependencies = true
-}
-
-allprojects { project ->
-    repositories {
-        maven {
-            url "${rootProject.projectDir}/" + offlineRepositoryRoot
-        }
-        // When offline, use only the offline repository.
-        if (gradle.startParameter.isOffline()) {
-            return
-        }
-        maven {
-            url 'https://plugins.gradle.org/m2/'
-        }
-        google()
-        jcenter()
-    }
-
-    project.apply from: "${rootDir}/common/constants.gradle"
-}
diff --git a/camera/impl/camera2/proguard.flags b/camera/camera2/proguard.flags
similarity index 100%
rename from camera/impl/camera2/proguard.flags
rename to camera/camera2/proguard.flags
diff --git a/camera/impl/camera2/src/androidTest/AndroidManifest.xml b/camera/camera2/src/androidTest/AndroidManifest.xml
similarity index 100%
rename from camera/impl/camera2/src/androidTest/AndroidManifest.xml
rename to camera/camera2/src/androidTest/AndroidManifest.xml
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2CameraCaptureResultAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2CameraCaptureResultAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2CameraCaptureResultAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2CameraCaptureResultAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2CameraControlAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2CameraControlAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2CameraControlAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2CameraControlAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2CaptureSessionCaptureCallbacksAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2CaptureSessionCaptureCallbacksAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2CaptureSessionCaptureCallbacksAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2CaptureSessionCaptureCallbacksAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2ConfigurationAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2ConfigurationAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2ConfigurationAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2ConfigurationAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2ImplCameraRepositoryAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2ImplCameraRepositoryAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2ImplCameraRepositoryAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2ImplCameraRepositoryAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2ImplCameraXAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2ImplCameraXAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2ImplCameraXAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2ImplCameraXAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2InitializerAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2InitializerAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/Camera2InitializerAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/Camera2InitializerAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/CameraAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/CameraAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/CameraAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/CameraAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/CameraCaptureCallbackAdapterAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/CameraCaptureCallbackAdapterAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/CameraCaptureCallbackAdapterAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/CameraCaptureCallbackAdapterAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/CaptureCallbackContainerAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/CaptureCallbackContainerAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/CaptureCallbackContainerAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/CaptureCallbackContainerAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/CaptureCallbackConverterAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/CaptureCallbackConverterAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/CaptureCallbackConverterAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/CaptureCallbackConverterAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/CaptureSessionAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/CaptureSessionAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/CaptureSessionAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/CaptureSessionAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/FakeRepeatingUseCase.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/FakeRepeatingUseCase.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/FakeRepeatingUseCase.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/FakeRepeatingUseCase.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/ImageAnalysisUseCaseAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/ImageAnalysisUseCaseAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/ImageAnalysisUseCaseAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/ImageAnalysisUseCaseAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/ImageCaptureUseCaseAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/ImageCaptureUseCaseAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/ImageCaptureUseCaseAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/ImageCaptureUseCaseAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/ImageReaderProxysAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/ImageReaderProxysAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/ImageReaderProxysAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/ImageReaderProxysAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/SemaphoreReleasingCamera2Callbacks.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/SemaphoreReleasingCamera2Callbacks.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/SemaphoreReleasingCamera2Callbacks.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/SemaphoreReleasingCamera2Callbacks.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/UseCaseSurfaceOccupancyManagerAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/UseCaseSurfaceOccupancyManagerAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/UseCaseSurfaceOccupancyManagerAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/UseCaseSurfaceOccupancyManagerAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/VideoCaptureUseCaseAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/VideoCaptureUseCaseAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/VideoCaptureUseCaseAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/VideoCaptureUseCaseAndroidTest.java
diff --git a/camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/ViewFinderUseCaseAndroidTest.java b/camera/camera2/src/androidTest/java/androidx/camera/camera2/ViewFinderUseCaseAndroidTest.java
similarity index 100%
rename from camera/impl/camera2/src/androidTest/java/androidx/camera/camera2/ViewFinderUseCaseAndroidTest.java
rename to camera/camera2/src/androidTest/java/androidx/camera/camera2/ViewFinderUseCaseAndroidTest.java
diff --git a/camera/impl/camera2/src/main/AndroidManifest.xml b/camera/camera2/src/main/AndroidManifest.xml
similarity index 100%
rename from camera/impl/camera2/src/main/AndroidManifest.xml
rename to camera/camera2/src/main/AndroidManifest.xml
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/CamcorderProfileHelper.java b/camera/camera2/src/main/java/androidx/camera/camera2/CamcorderProfileHelper.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/CamcorderProfileHelper.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/CamcorderProfileHelper.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera.java b/camera/camera2/src/main/java/androidx/camera/camera2/Camera.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/Camera.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2AppConfiguration.java b/camera/camera2/src/main/java/androidx/camera/camera2/Camera2AppConfiguration.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2AppConfiguration.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/Camera2AppConfiguration.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2CameraCaptureResult.java b/camera/camera2/src/main/java/androidx/camera/camera2/Camera2CameraCaptureResult.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2CameraCaptureResult.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/Camera2CameraCaptureResult.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2CameraControl.java b/camera/camera2/src/main/java/androidx/camera/camera2/Camera2CameraControl.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2CameraControl.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/Camera2CameraControl.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2CameraFactory.java b/camera/camera2/src/main/java/androidx/camera/camera2/Camera2CameraFactory.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2CameraFactory.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/Camera2CameraFactory.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2CameraInfo.java b/camera/camera2/src/main/java/androidx/camera/camera2/Camera2CameraInfo.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2CameraInfo.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/Camera2CameraInfo.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2CaptureSessionCaptureCallbacks.java b/camera/camera2/src/main/java/androidx/camera/camera2/Camera2CaptureSessionCaptureCallbacks.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2CaptureSessionCaptureCallbacks.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/Camera2CaptureSessionCaptureCallbacks.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2Configuration.java b/camera/camera2/src/main/java/androidx/camera/camera2/Camera2Configuration.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2Configuration.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/Camera2Configuration.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2DeviceSurfaceManager.java b/camera/camera2/src/main/java/androidx/camera/camera2/Camera2DeviceSurfaceManager.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2DeviceSurfaceManager.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/Camera2DeviceSurfaceManager.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2Initializer.java b/camera/camera2/src/main/java/androidx/camera/camera2/Camera2Initializer.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2Initializer.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/Camera2Initializer.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2OptionUnpacker.java b/camera/camera2/src/main/java/androidx/camera/camera2/Camera2OptionUnpacker.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2OptionUnpacker.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/Camera2OptionUnpacker.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2RequestRunner.java b/camera/camera2/src/main/java/androidx/camera/camera2/Camera2RequestRunner.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/Camera2RequestRunner.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/Camera2RequestRunner.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/CameraCaptureCallbackAdapter.java b/camera/camera2/src/main/java/androidx/camera/camera2/CameraCaptureCallbackAdapter.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/CameraCaptureCallbackAdapter.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/CameraCaptureCallbackAdapter.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/CaptureCallbackContainer.java b/camera/camera2/src/main/java/androidx/camera/camera2/CaptureCallbackContainer.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/CaptureCallbackContainer.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/CaptureCallbackContainer.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/CaptureCallbackConverter.java b/camera/camera2/src/main/java/androidx/camera/camera2/CaptureCallbackConverter.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/CaptureCallbackConverter.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/CaptureCallbackConverter.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/CaptureSession.java b/camera/camera2/src/main/java/androidx/camera/camera2/CaptureSession.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/CaptureSession.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/CaptureSession.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/DefaultImageAnalysisConfigurationProvider.java b/camera/camera2/src/main/java/androidx/camera/camera2/DefaultImageAnalysisConfigurationProvider.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/DefaultImageAnalysisConfigurationProvider.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/DefaultImageAnalysisConfigurationProvider.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/DefaultImageCaptureConfigurationProvider.java b/camera/camera2/src/main/java/androidx/camera/camera2/DefaultImageCaptureConfigurationProvider.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/DefaultImageCaptureConfigurationProvider.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/DefaultImageCaptureConfigurationProvider.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/DefaultVideoCaptureConfigurationProvider.java b/camera/camera2/src/main/java/androidx/camera/camera2/DefaultVideoCaptureConfigurationProvider.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/DefaultVideoCaptureConfigurationProvider.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/DefaultVideoCaptureConfigurationProvider.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/DefaultViewFinderConfigurationProvider.java b/camera/camera2/src/main/java/androidx/camera/camera2/DefaultViewFinderConfigurationProvider.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/DefaultViewFinderConfigurationProvider.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/DefaultViewFinderConfigurationProvider.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/SupportedSurfaceCombination.java b/camera/camera2/src/main/java/androidx/camera/camera2/SupportedSurfaceCombination.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/SupportedSurfaceCombination.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/SupportedSurfaceCombination.java
diff --git a/camera/impl/camera2/src/main/java/androidx/camera/camera2/UseCaseSurfaceOccupancyManager.java b/camera/camera2/src/main/java/androidx/camera/camera2/UseCaseSurfaceOccupancyManager.java
similarity index 100%
rename from camera/impl/camera2/src/main/java/androidx/camera/camera2/UseCaseSurfaceOccupancyManager.java
rename to camera/camera2/src/main/java/androidx/camera/camera2/UseCaseSurfaceOccupancyManager.java
diff --git a/camera/impl/camera2/src/test/java/androidx/camera/camera2/Camera2CameraInfoRobolectricTest.java b/camera/camera2/src/test/java/androidx/camera/camera2/Camera2CameraInfoRobolectricTest.java
similarity index 100%
rename from camera/impl/camera2/src/test/java/androidx/camera/camera2/Camera2CameraInfoRobolectricTest.java
rename to camera/camera2/src/test/java/androidx/camera/camera2/Camera2CameraInfoRobolectricTest.java
diff --git a/camera/impl/camera2/src/test/java/androidx/camera/camera2/Camera2DeviceSurfaceManagerRobolectricTest.java b/camera/camera2/src/test/java/androidx/camera/camera2/Camera2DeviceSurfaceManagerRobolectricTest.java
similarity index 100%
rename from camera/impl/camera2/src/test/java/androidx/camera/camera2/Camera2DeviceSurfaceManagerRobolectricTest.java
rename to camera/camera2/src/test/java/androidx/camera/camera2/Camera2DeviceSurfaceManagerRobolectricTest.java
diff --git a/camera/impl/camera2/src/test/java/androidx/camera/camera2/SupportedSurfaceCombinationRobolectricTest.java b/camera/camera2/src/test/java/androidx/camera/camera2/SupportedSurfaceCombinationRobolectricTest.java
similarity index 100%
rename from camera/impl/camera2/src/test/java/androidx/camera/camera2/SupportedSurfaceCombinationRobolectricTest.java
rename to camera/camera2/src/test/java/androidx/camera/camera2/SupportedSurfaceCombinationRobolectricTest.java
diff --git a/camera/common/constants.gradle b/camera/common/constants.gradle
deleted file mode 100644
index 968cb70..0000000
--- a/camera/common/constants.gradle
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2017 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.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Settings shared between the different modules and build flavors
-project.ext {
-    projectName = "camerax"
-    group = "androidx.camera"
-    version = "0.2.0"
-
-    androidxTestRulesVersion = "1.1.0-alpha4"
-    androidxTestRunnerVersion = "1.1.0-alpha4"
-    androidxVersion = "1.0.0"
-    autoValueVersion = "1.6.2"
-    doclavaVersion = "1.0.6"
-    googleTruthVersion = "0.42"
-    guavaVersion = "27.0.1-android"
-    javaVersion = JavaVersion.VERSION_1_8
-    junitVersion = "4.12"
-    lifecycleVersion = "1.1.1"
-    mockitoVersion = "2.13.0"
-    supportLibraryVersion = "27.0.2"
-
-    compileSdk = 27
-    targetSdk = 27
-    minSdk = 21
-
-    licenseName = "The Apache Software License, Version 2.0"
-    licenseUrl = "http://www.apache.org/licenses/LICENSE-2.0.txt"
-    licenseDist = "repo"
-}
diff --git a/camera/core/build.gradle b/camera/core/build.gradle
deleted file mode 100644
index b195622..0000000
--- a/camera/core/build.gradle
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Copyright (C) 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.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-apply plugin: "com.android.library"
-apply plugin: "com.github.dcendents.android-maven"
-apply plugin: "com.jfrog.bintray"
-apply plugin: "io.pry.gradle.offline_dependencies"
-
-// Must match the code package.
-group = project.ext.group
-
-version = project.ext.version
-
-android {
-    compileOptions {
-      sourceCompatibility project.ext.javaVersion
-      targetCompatibility project.ext.javaVersion
-    }
-
-    compileSdkVersion project.ext.compileSdk
-
-    defaultConfig {
-        minSdkVersion project.ext.minSdk
-        targetSdkVersion project.ext.targetSdk
-        versionCode 1
-        versionName project.ext.version
-        testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
-    }
-
-    defaultPublishConfig "release"
-
-    buildTypes {
-        debug {
-            // TODO(b/120775333): Enabling causes build problems similar to
-            // https://stackoverflow.com/questions/39195754. Re-enable once we
-            // have a proper fix.
-            // testCoverageEnabled true
-        }
-
-        release {
-            minifyEnabled true
-            // We set useProguard to false, because we only want to reduce the
-            // library size but not obfuscate the code.
-            useProguard false
-            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.flags'
-            consumerProguardFiles "proguard.flags"
-        }
-    }
-
-    sourceSets {
-        main {
-          java.srcDirs = ['src/main']
-        }
-        androidTest {
-          java.srcDirs = ['src/androidTest']
-          // Don't include the sample apps.
-          java.excludes = ['**/hellocamerax/**']
-        }
-    }
-
-    lintOptions {
-        abortOnError false
-    }
-}
-
-configurations {
-    doclava
-}
-
-offlineDependencies {
-    repositories {
-        maven {
-            url 'https://plugins.gradle.org/m2/'
-        }
-        google()
-        jcenter()
-    }
-
-    includeSources = true
-    includeJavadocs = true
-    includePoms = true
-    includeIvyXmls = true
-    includeBuildscriptDependencies = true
-}
-
-dependencies {
-    // Lifecycle and LiveData
-    implementation "android.arch.lifecycle:extensions:${project.ext.lifecycleVersion}"
-    implementation "android.arch.lifecycle:livedata:${project.ext.lifecycleVersion}"
-    implementation "android.arch.lifecycle:runtime:${project.ext.lifecycleVersion}"
-    annotationProcessor "android.arch.lifecycle:compiler:${project.ext.lifecycleVersion}" // use kapt for Kotlin
-    implementation "android.arch.lifecycle:common-java8:${project.ext.lifecycleVersion}"
-    testImplementation "android.arch.core:core-testing:${project.ext.lifecycleVersion}"
-
-    // AutoValue
-    implementation "com.google.auto.value:auto-value-annotations:${project.ext.autoValueVersion}"
-    annotationProcessor "com.google.auto.value:auto-value:${project.ext.autoValueVersion}"
-
-    // Android Support Library
-    implementation "com.android.support:support-compat:${project.ext.supportLibraryVersion}"
-    implementation "com.android.support:support-annotations:${project.ext.supportLibraryVersion}"
-
-    // AndroidX
-    implementation "androidx.exifinterface:exifinterface:${project.ext.androidxVersion}"
-
-    // Guava
-    api "com.google.guava:guava:${project.ext.guavaVersion}"
-
-    // The Android (e2e) tests
-    androidTestImplementation "androidx.test:runner:${project.ext.androidxTestRunnerVersion}"
-    androidTestImplementation "androidx.test:rules:${project.ext.androidxTestRulesVersion}"
-    androidTestImplementation "com.google.truth:truth:${project.ext.googleTruthVersion}"
-    androidTestImplementation "junit:junit:${project.ext.junitVersion}"
-    androidTestImplementation "org.mockito:mockito-core:${project.ext.mockitoVersion}"
-
-    // Javadocs
-    doclava "com.google.doclava:doclava:${project.ext.doclavaVersion}"
-}
-
-task javadocs(type: Javadoc, dependsOn: project.configurations.doclava) {
-    description "Generate Javadocs"
-    title = null
-    source = android.sourceSets.main.java.sourceFiles
-    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
-    classpath += configurations.compile
-    failOnError = false
-    options.doclet = "com.google.doclava.Doclava"
-    options.docletpath = configurations.doclava.files.asType(List)
-}
-
-task javadocsJar(type: Jar, dependsOn: javadocs) {
-    description "Package Javadocs into a jar"
-    classifier = "javadoc"
-    from javadocs.destinationDir
-}
-
-task sourcesJar(type: Jar) {
-    description "Package sources into a jar"
-    classifier = "sources"
-    from android.sourceSets.main.java.sourceFiles
-}
-
-task aar(dependsOn: "assembleRelease") {
-    group "artifact"
-    description "Builds the library AARs"
-}
-
-artifacts {
-    // Include javadocs in the generated artifacts.
-    archives javadocsJar
-}
-
-Properties properties = new Properties()
-properties.load(project.rootProject.file('local.properties')
-        .newDataInputStream())
-
-bintray {
-   user = properties.getProperty("bintray.user")
-   key = properties.getProperty("bintray.apikey")
-
-   configurations = ['archives']
-
-   // Don't make files public.
-   publish = false
-
-   pkg {
-       // Bintray repository name.
-       repo = 'camerax'
-
-       // Bintray package name, which is different from the code package.
-       name = 'camerax-core'
-
-       userOrg = 'google'
-       desc = 'Common Core Components module for CameraX support library'
-       licenses = ['Apache-2.0']
-       publicDownloadNumbers = false
-
-       version {
-           desc = 'Common Core Components module for CameraX support library, version ' + project.ext.version
-           released = new Date()
-           vcsTag = project.ext.version
-           attributes = ['gradle-plugin': 'com.use.less:com.use.less.gradle:gradle-useless-plugin']
-       }
-   }
-}
-
-install {
-    repositories.mavenInstaller {
-        pom.project {
-            name 'CameraX Core Common'
-            description 'Common Core Components module for CameraX support library'
-            inceptionYear '2018'
-
-            packaging 'aar'
-
-            // Must match the 'group' variable defined at the top.
-            groupId project.ext.group
-
-            // Must match the gradle project name.
-            artifactId 'core'
-
-            version project.ext.version
-
-            licenses {
-                license {
-                    name 'The Apache Software License, Version 2.0'
-                    url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
-                    distribution 'repo'
-                }
-            }
-
-            developers {
-                developer {
-                    name 'google'
-                    id properties.getProperty('user.id')
-                    email properties.getProperty('user.email')
-                }
-            }
-        }
-    }
-}
diff --git a/camera/gradle/wrapper/gradle-4.6-all.zip b/camera/gradle/wrapper/gradle-4.6-all.zip
deleted file mode 100644
index 3ad7bff..0000000
--- a/camera/gradle/wrapper/gradle-4.6-all.zip
+++ /dev/null
Binary files differ
diff --git a/camera/gradle/wrapper/gradle-wrapper.jar b/camera/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 01b8bf6..0000000
--- a/camera/gradle/wrapper/gradle-wrapper.jar
+++ /dev/null
Binary files differ
diff --git a/camera/gradle/wrapper/gradle-wrapper.properties b/camera/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 1e6c7a6..0000000
--- a/camera/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=gradle-4.6-all.zip
diff --git a/camera/gradlew b/camera/gradlew
deleted file mode 100755
index cccdd3d..0000000
--- a/camera/gradlew
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/usr/bin/env sh
-
-##############################################################################
-##
-##  Gradle start up script for UN*X
-##
-##############################################################################
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-        PRG="$link"
-    else
-        PRG=`dirname "$PRG"`"/$link"
-    fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn () {
-    echo "$*"
-}
-
-die () {
-    echo
-    echo "$*"
-    echo
-    exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-nonstop=false
-case "`uname`" in
-  CYGWIN* )
-    cygwin=true
-    ;;
-  Darwin* )
-    darwin=true
-    ;;
-  MINGW* )
-    msys=true
-    ;;
-  NONSTOP* )
-    nonstop=true
-    ;;
-esac
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-        # IBM's JDK on AIX uses strange locations for the executables
-        JAVACMD="$JAVA_HOME/jre/sh/java"
-    else
-        JAVACMD="$JAVA_HOME/bin/java"
-    fi
-    if [ ! -x "$JAVACMD" ] ; then
-        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-    fi
-else
-    JAVACMD="java"
-    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
-    MAX_FD_LIMIT=`ulimit -H -n`
-    if [ $? -eq 0 ] ; then
-        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
-            MAX_FD="$MAX_FD_LIMIT"
-        fi
-        ulimit -n $MAX_FD
-        if [ $? -ne 0 ] ; then
-            warn "Could not set maximum file descriptor limit: $MAX_FD"
-        fi
-    else
-        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
-    fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
-    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
-    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
-    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
-    JAVACMD=`cygpath --unix "$JAVACMD"`
-
-    # We build the pattern for arguments to be converted via cygpath
-    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
-    SEP=""
-    for dir in $ROOTDIRSRAW ; do
-        ROOTDIRS="$ROOTDIRS$SEP$dir"
-        SEP="|"
-    done
-    OURCYGPATTERN="(^($ROOTDIRS))"
-    # Add a user-defined pattern to the cygpath arguments
-    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
-        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
-    fi
-    # Now convert the arguments - kludge to limit ourselves to /bin/sh
-    i=0
-    for arg in "$@" ; do
-        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
-        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
-
-        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
-            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
-        else
-            eval `echo args$i`="\"$arg\""
-        fi
-        i=$((i+1))
-    done
-    case $i in
-        (0) set -- ;;
-        (1) set -- "$args0" ;;
-        (2) set -- "$args0" "$args1" ;;
-        (3) set -- "$args0" "$args1" "$args2" ;;
-        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
-        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
-        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
-        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
-        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
-        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
-    esac
-fi
-
-# Escape application args
-save () {
-    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
-    echo " "
-}
-APP_ARGS=$(save "$@")
-
-# Collect all arguments for the java command, following the shell quoting and substitution rules
-eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
-
-# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
-if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
-  cd "$(dirname "$0")"
-fi
-
-exec "$JAVACMD" "$@"
diff --git a/camera/impl/camera2/build.gradle b/camera/impl/camera2/build.gradle
deleted file mode 100644
index 9750e1f..0000000
--- a/camera/impl/camera2/build.gradle
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Copyright (C) 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.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-apply plugin: "com.android.library"
-apply plugin: "com.github.dcendents.android-maven"
-apply plugin: "com.jfrog.bintray"
-apply plugin: "io.pry.gradle.offline_dependencies"
-
-// Must match the code package.
-group = project.ext.group
-
-version = project.ext.version
-
-android {
-    compileOptions {
-        sourceCompatibility project.ext.javaVersion
-        targetCompatibility project.ext.javaVersion
-    }
-
-    compileSdkVersion project.ext.compileSdk
-
-    defaultConfig {
-        minSdkVersion project.ext.minSdk
-        targetSdkVersion project.ext.targetSdk
-        versionCode 1
-        versionName project.ext.version
-        testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
-    }
-
-    defaultPublishConfig "release"
-
-    buildTypes {
-        debug {
-            // TODO(b/120775333): Enabling causes build problems similar to
-            // https://stackoverflow.com/questions/39195754. Re-enable once we
-            // have a proper fix.
-            // testCoverageEnabled true
-        }
-
-        release {
-            minifyEnabled true
-            // We set useProguard to false, because we only want to reduce the
-            // library size but not obfuscate the code.
-            useProguard false
-            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.flags'
-            consumerProguardFiles "proguard.flags"
-        }
-    }
-
-    sourceSets {
-        main {
-            java.srcDirs = ['src/main']
-        }
-        androidTest {
-            java.srcDirs = ['src/androidTest']
-        }
-    }
-
-    lintOptions {
-        abortOnError false
-    }
-}
-
-configurations {
-    doclava
-}
-
-offlineDependencies {
-    repositories {
-        maven {
-            url 'https://plugins.gradle.org/m2/'
-        }
-        google()
-        jcenter()
-    }
-
-    includeSources = true
-    includeJavadocs = true
-    includePoms = true
-    includeIvyXmls = true
-    includeBuildscriptDependencies = true
-}
-
-dependencies {
-    // Internal libraries
-    implementation project(':core')
-
-    // Android Support Library Annotations
-    implementation "com.android.support:support-annotations:${project.ext.supportLibraryVersion}"
-
-    // Guava
-    api "com.google.guava:guava:${project.ext.guavaVersion}"
-
-    // The Android (e2e) tests
-    androidTestImplementation "androidx.test:runner:${project.ext.androidxTestRunnerVersion}"
-    androidTestImplementation "androidx.test:rules:${project.ext.androidxTestRulesVersion}"
-    androidTestImplementation "com.google.truth:truth:${project.ext.googleTruthVersion}"
-    androidTestImplementation "junit:junit:${project.ext.junitVersion}"
-    androidTestImplementation "org.mockito:mockito-core:${project.ext.mockitoVersion}"
-
-    // Javadocs
-    doclava "com.google.doclava:doclava:${project.ext.doclavaVersion}"
-}
-
-task javadocs(type: Javadoc, dependsOn: project.configurations.doclava) {
-    description "Generate Javadocs"
-    title = null
-    source = android.sourceSets.main.java.sourceFiles
-    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
-    classpath += configurations.compile
-    failOnError = false
-    options.doclet = "com.google.doclava.Doclava"
-    options.docletpath = configurations.doclava.files.asType(List)
-}
-
-task javadocsJar(type: Jar, dependsOn: javadocs) {
-    description "Package Javadocs into a jar"
-    classifier = "javadoc"
-    from javadocs.destinationDir
-}
-
-task sourcesJar(type: Jar) {
-    description "Package sources into a jar"
-    classifier = "sources"
-    from android.sourceSets.main.java.sourceFiles
-}
-
-task aar(dependsOn: "assembleRelease") {
-    group "artifact"
-    description "Builds the library AARs"
-}
-
-artifacts {
-    // Include javadocs in the generated artifacts.
-    archives javadocsJar
-}
-
-Properties properties = new Properties()
-properties.load(project.rootProject.file('local.properties')
-        .newDataInputStream())
-
-bintray {
-    user = properties.getProperty("bintray.user")
-    key = properties.getProperty("bintray.apikey")
-
-    configurations = ['archives']
-
-    // Don't make files public.
-    publish = false
-
-    pkg {
-        // Bintray repository name.
-        repo = 'camerax'
-
-        // Bintray package name, which is different from the code package.
-        name = 'camerax-camera2'
-
-        userOrg = 'google'
-        desc = 'Camera2 implementation module for CameraX support library'
-        licenses = ['Apache-2.0']
-        publicDownloadNumbers = false
-
-        version {
-            desc = 'Camera2 implementation module for CameraX support library, version ' + project.ext.version
-            released = new Date()
-            vcsTag = project.ext.version
-            attributes = ['gradle-plugin': 'com.use.less:com.use.less.gradle:gradle-useless-plugin']
-        }
-    }
-}
-
-install {
-    repositories.mavenInstaller {
-        pom.project {
-            name 'CameraX Camera2'
-            description 'Camera2 implementation module for CameraX support library'
-            inceptionYear '2018'
-
-            packaging 'aar'
-
-            // Must match the 'group' variable defined at the top.
-            groupId project.ext.group
-
-            // Must match the gradle project name.
-            artifactId 'camera2'
-
-            version project.ext.version
-
-            licenses {
-                license {
-                    name 'The Apache Software License, Version 2.0'
-                    url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
-                    distribution 'repo'
-                }
-            }
-
-            developers {
-                developer {
-                    name 'google'
-                    id properties.getProperty('user.id')
-                    email properties.getProperty('user.email')
-                }
-            }
-        }
-    }
-}
diff --git a/camera/settings.gradle b/camera/settings.gradle
deleted file mode 100644
index aa2fc1c..0000000
--- a/camera/settings.gradle
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 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.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Libraries
-include ':camera2'
-project(':camera2').projectDir = new File('impl/camera2')
-include ':core'
-include ':view'
-
-// Applications
-include ':core:src:androidTest:java:androidx:camera:app:camera2interopburst'
-include ':core:src:androidTest:java:androidx:camera:app:camera2interoperror'
-include ':core:src:androidTest:java:androidx:camera:app:hellocamerax'
-include ':core:src:androidTest:java:androidx:camera:app:javacameraxpermissions'
-include ':core:src:androidTest:java:androidx:camera:app:timingapp'
-include ':view:src:androidTest:java:androidx:camera:app:cameraview'
-
-rootProject.name = "camerax"
diff --git a/camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeAppConfiguration.java b/camera/testing/src/main/java/androidx/camera/testing/fakes/FakeAppConfiguration.java
similarity index 100%
rename from camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeAppConfiguration.java
rename to camera/testing/src/main/java/androidx/camera/testing/fakes/FakeAppConfiguration.java
diff --git a/camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeCamera.java b/camera/testing/src/main/java/androidx/camera/testing/fakes/FakeCamera.java
similarity index 100%
rename from camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeCamera.java
rename to camera/testing/src/main/java/androidx/camera/testing/fakes/FakeCamera.java
diff --git a/camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeCameraDeviceSurfaceManager.java b/camera/testing/src/main/java/androidx/camera/testing/fakes/FakeCameraDeviceSurfaceManager.java
similarity index 100%
rename from camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeCameraDeviceSurfaceManager.java
rename to camera/testing/src/main/java/androidx/camera/testing/fakes/FakeCameraDeviceSurfaceManager.java
diff --git a/camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeCameraFactory.java b/camera/testing/src/main/java/androidx/camera/testing/fakes/FakeCameraFactory.java
similarity index 100%
rename from camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeCameraFactory.java
rename to camera/testing/src/main/java/androidx/camera/testing/fakes/FakeCameraFactory.java
diff --git a/camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeCameraInfo.java b/camera/testing/src/main/java/androidx/camera/testing/fakes/FakeCameraInfo.java
similarity index 100%
rename from camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeCameraInfo.java
rename to camera/testing/src/main/java/androidx/camera/testing/fakes/FakeCameraInfo.java
diff --git a/camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeConfiguration.java b/camera/testing/src/main/java/androidx/camera/testing/fakes/FakeConfiguration.java
similarity index 100%
rename from camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeConfiguration.java
rename to camera/testing/src/main/java/androidx/camera/testing/fakes/FakeConfiguration.java
diff --git a/camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeDefaultUseCaseConfigFactory.java b/camera/testing/src/main/java/androidx/camera/testing/fakes/FakeDefaultUseCaseConfigFactory.java
similarity index 100%
rename from camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeDefaultUseCaseConfigFactory.java
rename to camera/testing/src/main/java/androidx/camera/testing/fakes/FakeDefaultUseCaseConfigFactory.java
diff --git a/camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeLifecycleOwner.java b/camera/testing/src/main/java/androidx/camera/testing/fakes/FakeLifecycleOwner.java
similarity index 100%
rename from camera/impl/testing/src/main/java/androidx/camera/testing/fakes/FakeLifecycleOwner.java
rename to camera/testing/src/main/java/androidx/camera/testing/fakes/FakeLifecycleOwner.java
diff --git a/camera/view/build.gradle b/camera/view/build.gradle
deleted file mode 100644
index 53cba83..0000000
--- a/camera/view/build.gradle
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright (C) 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.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-apply plugin: "com.android.library"
-apply plugin: "com.github.dcendents.android-maven"
-apply plugin: "com.jfrog.bintray"
-apply plugin: "io.pry.gradle.offline_dependencies"
-
-// Must match the code package.
-group = project.ext.group
-
-version = project.ext.version
-
-android {
-    compileOptions {
-      sourceCompatibility project.ext.javaVersion
-      targetCompatibility project.ext.javaVersion
-    }
-
-    compileSdkVersion project.ext.compileSdk
-
-    defaultConfig {
-        minSdkVersion project.ext.minSdk
-        targetSdkVersion project.ext.targetSdk
-        versionCode 1
-        versionName project.ext.version
-        testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
-    }
-
-    defaultPublishConfig "release"
-
-    buildTypes {
-        debug {
-            // TODO(b/120775333): Enabling causes build problems. Re-enable once we have a proper
-            // fix.
-            // testCoverageEnabled true
-        }
-
-        release {
-            minifyEnabled true
-            // We set useProguard to false, because we only want to reduce the
-            // library size but not obfuscate the code.
-            useProguard false
-            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.flags'
-            consumerProguardFiles "proguard.flags"
-        }
-    }
-
-    sourceSets {
-        main {
-          java.srcDirs = ['src/main']
-          res.srcDirs = ['src/main/res', 'src/main/res-public']
-        }
-        main.manifest.srcFile 'src/main/AndroidManifest.xml'
-        androidTest {
-          java.srcDirs = ['src/androidTest']
-          // Don't include the sample apps.
-          java.excludes = ['**/cameraview/**']
-        }
-    }
-
-    lintOptions {
-        abortOnError false
-    }
-}
-
-configurations {
-    doclava
-}
-
-offlineDependencies {
-    repositories {
-        maven {
-            url 'https://plugins.gradle.org/m2/'
-        }
-        google()
-        jcenter()
-    }
-
-    includeSources = true
-    includeJavadocs = true
-    includePoms = true
-    includeIvyXmls = true
-    includeBuildscriptDependencies = true
-}
-
-dependencies {
-    api fileTree(include: ['*.jar'], dir: 'libs')
-
-    // Internal libraries
-    implementation project(':core')
-
-    // Lifecycle
-    implementation "android.arch.lifecycle:extensions:${project.ext.lifecycleVersion}"
-    implementation "android.arch.lifecycle:runtime:${project.ext.lifecycleVersion}"
-    annotationProcessor "android.arch.lifecycle:compiler:${project.ext.lifecycleVersion}" // use kapt for Kotlin
-    implementation "android.arch.lifecycle:common-java8:${project.ext.lifecycleVersion}"
-
-    // Android Support Library
-    implementation "com.android.support:support-compat:${project.ext.supportLibraryVersion}"
-    implementation "com.android.support:support-annotations:${project.ext.supportLibraryVersion}"
-
-    // The Android (e2e) tests
-    androidTestImplementation "androidx.test:runner:${project.ext.androidxTestRunnerVersion}"
-    androidTestImplementation "androidx.test:rules:${project.ext.androidxTestRulesVersion}"
-    androidTestImplementation "com.google.truth:truth:${project.ext.googleTruthVersion}"
-    androidTestImplementation "junit:junit:${project.ext.junitVersion}"
-    androidTestImplementation "org.mockito:mockito-core:${project.ext.mockitoVersion}"
-
-    // Javadocs
-    doclava "com.google.doclava:doclava:${project.ext.doclavaVersion}"
-}
-
-task javadocs(type: Javadoc, dependsOn: project.configurations.doclava) {
-    description "Generate Javadocs"
-    title = null
-    source = android.sourceSets.main.java.sourceFiles
-    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
-    classpath += configurations.compile
-    failOnError = false
-    options.doclet = "com.google.doclava.Doclava"
-    options.docletpath = configurations.doclava.files.asType(List)
-}
-
-task javadocsJar(type: Jar, dependsOn: javadocs) {
-    description "Package Javadocs into a jar"
-    classifier = "javadoc"
-    from javadocs.destinationDir
-}
-
-task sourcesJar(type: Jar) {
-    description "Package sources into a jar"
-    classifier = "sources"
-    from android.sourceSets.main.java.sourceFiles
-}
-
-task aar(dependsOn: "assembleRelease") {
-    group "artifact"
-    description "Builds the library AARs"
-}
-
-artifacts {
-    // Include javadocs in the generated artifacts.
-    archives javadocsJar
-}
-
-Properties properties = new Properties()
-properties.load(project.rootProject.file('local.properties')
-        .newDataInputStream())
-
-bintray {
-   user = properties.getProperty("bintray.user")
-   key = properties.getProperty("bintray.apikey")
-
-   configurations = ['archives']
-
-   // Don't make files public.
-   publish = false
-
-   pkg {
-       // Bintray repository name.
-       repo = 'camerax'
-
-       // Bintray package name, which is different from the code package.
-       name = 'camerax-view'
-
-       userOrg = 'google'
-       desc = 'View module for CameraX support library'
-       licenses = ['Apache-2.0']
-       publicDownloadNumbers = false
-
-       version {
-           desc = 'View module for CameraX support library, version ' + project.ext.version
-           released = new Date()
-           vcsTag = project.ext.version
-           attributes = ['gradle-plugin': 'com.use.less:com.use.less.gradle:gradle-useless-plugin']
-       }
-   }
-}
-
-install {
-    repositories.mavenInstaller {
-        pom.project {
-            name 'CameraX View'
-            description 'View module for CameraX support library'
-            inceptionYear '2018'
-
-            packaging 'aar'
-
-            // Must match the 'group' variable defined at the top.
-            groupId project.ext.group
-
-            // Must match the gradle project name.
-            artifactId 'view'
-
-            version project.ext.version
-
-            licenses {
-                license {
-                    name 'The Apache Software License, Version 2.0'
-                    url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
-                    distribution 'repo'
-                }
-            }
-
-            developers {
-                developer {
-                    name 'google'
-                    id properties.getProperty('user.id')
-                    email properties.getProperty('user.email')
-                }
-            }
-        }
-    }
-}