Snap for 8564071 from 7b1d45fd7767e3f5c3571fc7de33aa5c85c084ba to mainline-extservices-release

Change-Id: I3e1a7a61ad365fdc5b0e7bf6f8d7a1ee4e3b57df
diff --git a/Android.bp b/Android.bp
index 08ce88c..592d598 100644
--- a/Android.bp
+++ b/Android.bp
@@ -11,6 +11,10 @@
 // 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.
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
 android_app {
     name: "DevCamera",
     sdk_version: "current",
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 0981bc1..703495d 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1,30 +1,30 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.devcamera"
-    android:versionCode="1"
-    android:versionName="1.0" >
+     package="com.android.devcamera"
+     android:versionCode="1"
+     android:versionName="1.0">
 
-    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29" />
+    <uses-sdk android:minSdkVersion="21"
+         android:targetSdkVersion="29"/>
 
-    <uses-feature android:name="android.hardware.camera.any" />
+    <uses-feature android:name="android.hardware.camera.any"/>
 
-    <uses-permission android:name="android.permission.CAMERA" />
+    <uses-permission android:name="android.permission.CAMERA"/>
     <uses-permission android:name="android.permission.RECORD_AUDIO"/>
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
 
-    <application
-        android:allowBackup="true"
-        android:icon="@mipmap/logo_devcamera_color_44in48dp"
-        android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen"
-        android:label="@string/app_name" >
-        <activity
-            android:screenOrientation="portrait"
-            android:name=".DevCameraActivity">
+    <application android:allowBackup="true"
+         android:icon="@mipmap/logo_devcamera_color_44in48dp"
+         android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen"
+         android:label="@string/app_name">
+        <activity android:screenOrientation="portrait"
+             android:name=".DevCameraActivity"
+             android:exported="true">
             <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.LAUNCHER" />
+                <action android:name="android.intent.action.MAIN"/>
+                <category android:name="android.intent.category.LAUNCHER"/>
             </intent-filter>
         </activity>
     </application>
diff --git a/lint-baseline.xml b/lint-baseline.xml
new file mode 100644
index 0000000..c97cf1e
--- /dev/null
+++ b/lint-baseline.xml
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="5" by="lint 4.1.0" client="cli" variant="all" version="4.1.0">
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `new android.hardware.camera2.params.InputConfiguration`"
+        errorLine1="                InputConfiguration inputConfig = new InputConfiguration(mCameraInfoCache.getYuvStream1Size().getWidth(),"
+        errorLine2="                                                 ~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/Api2Camera.java"
+            line="445"
+            column="50"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraDevice#createReprocessableCaptureSession`"
+        errorLine1="                mCameraDevice.createReprocessableCaptureSession(inputConfig, outputSurfaces,"
+        errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/Api2Camera.java"
+            line="447"
+            column="31"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraCaptureSession#isReprocessable`"
+        errorLine1="            if (session.isReprocessable()) {"
+        errorLine2="                        ~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/Api2Camera.java"
+            line="469"
+            column="25"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraCaptureSession#getInputSurface`"
+        errorLine1="                mImageWriter = ImageWriter.newInstance(session.getInputSurface(), IMAGEWRITER_SIZE);"
+        errorLine2="                                                               ~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/Api2Camera.java"
+            line="470"
+            column="64"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.media.ImageWriter#newInstance`"
+        errorLine1="                mImageWriter = ImageWriter.newInstance(session.getInputSurface(), IMAGEWRITER_SIZE);"
+        errorLine2="                                           ~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/Api2Camera.java"
+            line="470"
+            column="44"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.media.ImageWriter#setOnImageReleasedListener`"
+        errorLine1="                mImageWriter.setOnImageReleasedListener("
+        errorLine2="                             ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/Api2Camera.java"
+            line="471"
+            column="30"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Cast to `OnImageReleasedListener` requires API level 23 (current min is 21)"
+        errorLine1="                        new ImageWriter.OnImageReleasedListener() {"
+        errorLine2="                        ^">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/Api2Camera.java"
+            line="472"
+            column="25"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Class requires API level 23 (current min is 21): `android.media.ImageWriter.OnImageReleasedListener`"
+        errorLine1="                        new ImageWriter.OnImageReleasedListener() {"
+        errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/Api2Camera.java"
+            line="472"
+            column="29"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.media.ImageWriter#queueInputImage`"
+        errorLine1="        mImageWriter.queueInputImage(mYuv1LastReceivedImage);"
+        errorLine2="                     ~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/Api2Camera.java"
+            line="589"
+            column="22"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraDevice#createReprocessCaptureRequest`"
+        errorLine1="            CaptureRequest.Builder b1 = mCameraDevice.createReprocessCaptureRequest(mLastTotalCaptureResult);"
+        errorLine2="                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/Api2Camera.java"
+            line="592"
+            column="55"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.hardware.camera2.params.StreamConfigurationMap#getInputFormats`"
+        errorLine1="            int[] formats = map.getInputFormats();"
+        errorLine2="                                ~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/CameraDeviceReport.java"
+            line="183"
+            column="33"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.hardware.camera2.params.StreamConfigurationMap#getInputSizes`"
+        errorLine1="                Size[] sizes = map.getInputSizes(formats[i]);"
+        errorLine2="                                   ~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/CameraDeviceReport.java"
+            line="186"
+            column="36"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.content.ContextWrapper#checkSelfPermission`"
+        errorLine1="        if ((checkSelfPermission(Manifest.permission.CAMERA)"
+        errorLine2="             ~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/DevCameraActivity.java"
+            line="328"
+            column="14"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.content.ContextWrapper#checkSelfPermission`"
+        errorLine1="            || (checkSelfPermission(Manifest.permission.RECORD_AUDIO)"
+        errorLine2="                ~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/DevCameraActivity.java"
+            line="330"
+            column="17"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.content.ContextWrapper#checkSelfPermission`"
+        errorLine1="            || (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)"
+        errorLine2="                ~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/DevCameraActivity.java"
+            line="332"
+            column="17"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 23 (current min is 21): `android.app.Activity#requestPermissions`"
+        errorLine1="            requestPermissions(new String[] {"
+        errorLine2="            ~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/DevCamera/src/com/android/devcamera/DevCameraActivity.java"
+            line="335"
+            column="13"/>
+    </issue>
+
+</issues>