Snap for 8505378 from 0c87406939c7918cd009622623f182d615bb80a9 to mainline-go-mediaprovider-release

Change-Id: Iff83bb15835c32c7babbf9b5834e49e390a2d614
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..efdc658
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2022 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.
+ */
+
+package {
+    default_applicable_licenses: ["external_renderscript_intrinsics_replacement_toolkit_license"],
+}
+
+// See: http://go/android-license-faq
+license {
+    name: "external_renderscript_intrinsics_replacement_toolkit_license",
+    visibility: [":__subpackages__"],
+    license_kinds: [
+        "SPDX-license-identifier-Apache-2.0",
+    ],
+    license_text: ["LICENSE"],
+}
+
+android_library {
+    name: "renderscript_toolkit",
+    sdk_version: "current",
+    min_sdk_version: "14",
+    srcs: [
+        "renderscript-toolkit/src/main/java/**/*.kt",
+    ],
+    manifest: "renderscript-toolkit/src/main/AndroidManifest.xml",
+}
+
+android_app {
+    name: "renderscript_toolkit_test_app",
+    sdk_version: "current",
+    min_sdk_version: "21",
+    srcs: ["test-app/src/main/java/**/*.kt"],
+    jni_libs: ["librenderscript-toolkit"],
+    manifest: "test-app/src/main/AndroidManifest.xml",
+    resource_dirs: ["test-app/src/main/res"],
+    static_libs: [
+        "androidx.appcompat_appcompat",
+        "androidx.core_core-ktx",
+        "com.google.android.material_material",
+        "renderscript_toolkit",
+    ],
+    use_embedded_native_libs: true,
+}
diff --git a/renderscript-toolkit/src/main/cpp/Android.bp b/renderscript-toolkit/src/main/cpp/Android.bp
new file mode 100644
index 0000000..c3acebf
--- /dev/null
+++ b/renderscript-toolkit/src/main/cpp/Android.bp
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2022 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.
+ */
+
+package {
+    // See: http://go/android-license-faq
+    // A large-scale-change added 'default_applicable_licenses' to import
+    // all of the 'license_kinds' from "external_renderscript_intrinsics_replacement_toolkit_license"
+    // to get the below license kinds:
+    //   SPDX-license-identifier-Apache-2.0
+    default_applicable_licenses: [
+        "external_renderscript_intrinsics_replacement_toolkit_license",
+    ],
+}
+
+cc_defaults {
+    name: "renderscripttoolkit_native_defaults",
+    sdk_version: "current",
+    static_libs: [
+        "cpufeatures",
+    ],
+    shared_libs: [
+        "libjnigraphics",
+        "liblog",
+    ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+        "-Wextra",
+        "-Wno-unused-parameter",
+        "-Wno-unused-variable",
+        "-Wthread-safety",
+    ],
+    stl: "libc++_static",
+}
+
+cc_library_static {
+    name: "librenderscripttoolkit_native_static",
+    defaults: ["renderscripttoolkit_native_defaults"],
+    srcs: [
+        "Blend.cpp",
+        "Blur.cpp",
+        "ColorMatrix.cpp",
+        "Convolve3x3.cpp",
+        "Convolve5x5.cpp",
+        "Histogram.cpp",
+        "Lut.cpp",
+        "Lut3d.cpp",
+        "RenderScriptToolkit.cpp",
+        "Resize.cpp",
+        "TaskProcessor.cpp",
+        "Utils.cpp",
+        "YuvToRgb.cpp",
+    ],
+    arch: {
+        arm64: {
+            cflags: [
+                "-DARCH_ARM64_HAVE_NEON",
+                "-DARCH_ARM64_USE_INTRINSICS",
+                "-DARCH_ARM_USE_INTRINSICS",
+            ],
+            srcs: [
+                "Blend_advsimd.S",
+                "Blur_advsimd.S",
+                "ColorMatrix_advsimd.S",
+                "Convolve_advsimd.S",
+                "Lut3d_advsimd.S",
+                "Resize_advsimd.S",
+                "YuvToRgb_advsimd.S",
+            ],
+        },
+        arm: {
+            cflags: [
+                "-DARCH_ARM_HAVE_VFP",
+                "-DARCH_ARM_USE_INTRINSICS",
+            ],
+            srcs: [
+                "Blend_neon.S",
+                "Blur_neon.S",
+                "ColorMatrix_neon.S",
+                "Convolve_neon.S",
+                "Lut3d_neon.S",
+                "Resize_neon.S",
+                "YuvToRgb_neon.S",
+            ],
+            asflags: ["-mfpu=neon"],
+            neon: {
+                cflags: [
+                    "-DARCH_ARM_HAVE_NEON",
+                ],
+            },
+        },
+    },
+}
+
+cc_library_shared {
+    name: "librenderscript-toolkit",
+    defaults: ["renderscripttoolkit_native_defaults"],
+    srcs: ["JniEntryPoints.cpp"],
+    static_libs: [
+        "librenderscripttoolkit_native_static",
+    ],
+    header_libs: ["jni_headers"],
+}