//########################################################################
// Build FrameworksUiServicesTests package
//########################################################################

package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "frameworks_base_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["frameworks_base_license"],
}

android_test {
    name: "FrameworksUiServicesTests",

    // Include test java files
    srcs: [
        "src/**/*.java",
    ],

    static_libs: [
        "frameworks-base-testutils",
        "services.accessibility",
        "services.core",
        "services.devicepolicy",
        "services.net",
        "services.usage",
        "service-permission.stubs.system_server",
        "guava",
        "androidx.test.rules",
        "hamcrest-library",
        "mockito-target-inline-minus-junit4",
        "platform-compat-test-rules",
        "platform-test-annotations",
        "platformprotosnano",
        "statsdprotolite",
        "StatsdTestUtils",
        "hamcrest-library",
        "servicestests-utils",
        "testables",
        "truth",
        "TestParameterInjector",
        // TODO: remove once Android migrates to JUnit 4.12,
        // which provides assertThrows
        "testng",
        "flag-junit",
        "notification_flags_lib",
        "platform-test-rules",
    ],

    libs: [
        "android.test.runner",
        "android.test.base",
        "android.test.mock",
    ],

    dxflags: ["--multi-dex"],

    platform_apis: true,

    test_suites: [
        "device-tests",
        "automotive-tests",
    ],

    certificate: "platform",

    compile_multilib: "both",

    // These are not normally accessible from apps so they must be explicitly included.
    jni_libs: [
        "libdexmakerjvmtiagent",
        "libmultiplejvmtiagentsinterferenceagent",
        "libbase",
        "libbinder",
        "libc++",
        "libcutils",
        "liblog",
        "liblzma",
        "libnativehelper",
        "libui",
        "libunwindstack",
        "libutils",
        "netd_aidl_interface-V5-cpp",
    ],

    // Required for TestParameterInjector
    javacflags: ["-parameters"],
}
