// Copyright (C) 2015 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.

// Reusable Camera performance test classes and helpers
package {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

android_library {
    name: "cts-camera-performance-tests",

    min_sdk_version: "34",
    static_libs: [
        "compatibility-device-util-axt",
        "ctstestrunner-axt",
        "mockito-target-minus-junit4",
        "CtsCameraUtils",
        "truth",
        "androidx.test.rules",
    ],

    manifest: "AndroidManifest-lib.xml",
    resource_dirs: ["res"],
    srcs: [
        "src/android/hardware/camera2/cts/testcases/Camera2AndroidTestRule.java",
        "src/android/hardware/camera2/cts/Camera2SurfaceViewCtsActivity.java",
        "src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java",
        "src/android/hardware/camera2/cts/PerformanceTest.java",
        "src/android/hardware/cts/CameraPerformanceTestHelper.java",
        "src/android/hardware/cts/LegacyCameraPerformanceTest.java",
        "src/android/hardware/camera2/cts/RecordingTest.java",
    ],

    sdk_version: "test_current",

    libs: [
        "android.test.runner.stubs",
        "android.test.base.stubs",
    ],
    lint: {
        baseline_filename: "lint-baseline.xml",
    },
}

// CtsCameraTestCases package
android_test {
    name: "CtsCameraTestCases",
    defaults: ["cts_defaults"],
    // Include both the 32 and 64 bit versions
    compile_multilib: "both",
    static_libs: [
        "collector-device-lib-platform",
        "compatibility-device-util-axt",
        "ctstestrunner-axt",
        "cts_backported_fixes",
        "cts-hardware-lib",
        "mockito-target-minus-junit4",
        "android-ex-camera2",
        "CtsCameraUtils",
        "truth",
        "androidx.heifwriter_heifwriter",
        "androidx.test.rules",
        "MediaPerformanceClassCommon",
        "mediapc-requirements",
        "cts-wm-util",
        "cts-install-lib",
        "androidx.camera_camera-camera2",
        "androidx.camera_camera-core",
        "androidx.camera_camera-extensions",
        "androidx.camera_camera-lifecycle",
        "modules-utils-native-coverage-listener",
        "camera_platform_flags_java_lib",
        "android.media.codec-aconfig-java",
        "flag-junit",
        "platform-test-annotations",
    ],
    jni_libs: [
        "libctscamera2_jni",
        "libnativehelper_compat_libc++",
    ],
    stl: "c++_shared",
    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
    ],
    java_resources: [
        ":CameraCtsPropertyTestApp1",
        ":CameraCtsPropertyTestApp2",
    ],
    test_suites: [
        "cts",
        "dts",
        "general-tests",
    ],
    sdk_version: "test_current",
    libs: [
        "android.test.runner.stubs",
        "android.test.base.stubs",
    ],
    per_testcase_directory: true,
}

filegroup {
    name: "CameraCtsBitmapUtils",
    srcs: [
        "src/android/hardware/camera2/cts/rs/BitmapUtils.java",
    ],
}

test_module_config {
    name: "CtsCameraTestCases_cts_fastbasicstest",
    base: "CtsCameraTestCases",
    test_suites: ["general-tests"],
    include_filters: ["android.hardware.camera2.cts.FastBasicsTest"],
}
