// 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.

package {
    // See: http://go/android-license-faq
    default_applicable_licenses: ["Android-Apache-2.0"],
}

android_test_helper_app {
    name: "CtsDeviceInfo",
    defaults: ["cts_support_defaults"],
    srcs: ["src/**/*.java"],
    libs: ["android.test.base.stubs"],
    jni_libs: ["libctsdeviceinfo"],
    compile_multilib: "both",
    min_sdk_version: "23",
    // Tag this module as a cts test artifact
    test_suites: [
        "cts",
        "general-tests",
        "sts",
        "mts",
        "vts",
        "catbox",
        "gcatbox",
        "ats",
    ],
    static_libs: [
        "compatibility-device-info",
        "compatibility-device-util-axt",
    ],
    // Disable by default
    enforce_uses_libs: false,
    dex_preopt: {
        enabled: false,
    },
    optimize: {
        enabled: false,
    },
    sdk_version: "current",
    manifest: ":CtsDeviceInfo_Manifest",
}

genrule {
    name: "CtsDeviceInfo_Manifest",
    tools: [
        ":compatibility-manifest-generator",
    ],
    out: ["AndroidManifest.xml"],
    cmd: "$(location :compatibility-manifest-generator) " +
        " -r android.permission.READ_PHONE_STATE " +
        " -r android.permission.WRITE_EXTERNAL_STORAGE " +
        " -a com.android.compatibility.common.deviceinfo.GlesStubActivity " +
        " -a com.android.cts.deviceinfo.CameraDeviceInfo " +
        " -a com.android.cts.deviceinfo.SensorDeviceInfo " +
        " -a com.android.cts.deviceinfo.VulkanDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.AppStandbyDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.ClientIdDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.ConfigurationDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.CpuDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.FeatureDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.GenericDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.GlesStubActivity " +
        " -a com.android.compatibility.common.deviceinfo.GnssDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.GraphicsDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.HapticsDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.InputDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.LocaleDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.MediaDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.MemoryDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.PackageDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.ScreenDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.StorageDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.UserDeviceInfo " +
        " -a com.android.compatibility.common.deviceinfo.VintfDeviceInfo " +
        " -a com.android.compatibility.common.util.DummyActivity " +
        " -l android.test.runner " +
        " -lo androidx.window.sidecar " +
        " -p com.android.compatibility.common.deviceinfo " +
        " -i androidx.test.runner.AndroidJUnitRunner " +
        " -s 23 " +
        " -t 23 " +
        " -o $(out)",
}
