//
// Copyright (C) 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_team: "trendy_team_system_ui_please_use_a_more_specific_subteam_if_possible_",
    default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"],
}

android_test {
    name: "SystemUITests",
    use_resource_processor: true,

    dxflags: ["--multi-dex"],
    platform_apis: true,
    test_suites: ["device-tests"],
    static_libs: ["SystemUI-tests"],
    compile_multilib: "both",

    jni_libs: [
        "libdexmakerjvmtiagent",
        "libmultiplejvmtiagentsinterferenceagent",
        "libstaticjvmtiagent",
    ],
    libs: [
        "android.test.runner",
        "telephony-common",
        "android.test.base",
    ],
    aaptflags: [
        "--extra-packages com.android.systemui",
    ],

    // sign this with platform cert, so this test is allowed to inject key events into
    // UI it doesn't own. This is necessary to allow screenshots to be taken
    certificate: "platform",

    additional_manifests: ["AndroidManifest.xml"],
    manifest: "AndroidManifest-base.xml",
}
