package {
    default_team: "trendy_team_pmw_telephony",
    default_applicable_licenses: ["Android-Apache-2.0"],
}

genrule {
    name: "statslog-Iwlan-java-gen",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --java $(out) --module iwlan --javaPackage com.google.android.iwlan" +
        " --javaClass IwlanStatsLog",
    out: ["com/google/android/iwlan/IwlanStatsLog.java"],
}

android_app {
    name: "Iwlan",
    manifest: "AndroidManifest.xml",
    srcs: [
        "src/**/*.java",
        "src/**/I*.aidl",
        ":statslog-Iwlan-java-gen",
    ],
    static_libs: [
        "android-support-annotations",
        "iwlan_telephony_flags_lib",
    ],

    libs: [
        "android.net.ipsec.ike.stubs.system",
        "androidx.annotation_annotation",
        "auto_value_annotations",
        "framework-annotations-lib",
        "modules-utils-handlerexecutor",
    ],

    errorprone: {
        enabled: true,
        // Error-prone checking only warns of problems when building. To make the build fail with
        // these errors, list the specific error-prone problems below.
        javacflags: [
            "-Xep:NullablePrimitive:ERROR",
            "-Xep:AutoValueImmutableFields:OFF",
            "-Xep:DoNotMockAutoValue:OFF",
            "-Xep:JavaUtilDate:OFF",
            "-Xep:LongFloatConversion:OFF",
        ],
    },

    plugins: ["auto_value_plugin"],

    required: [
        "privapp-permlist_com.google.android.iwlan.xml",
        "sysconfig_com.google.android.iwlan.xml",
    ],

    owner: "google",
    system_ext_specific: true,
    platform_apis: true,
    privileged: true,
    certificate: "platform",
}

prebuilt_etc {
    name: "privapp-permlist_com.google.android.iwlan.xml",
    sub_dir: "permissions",
    src: "privapp-permlist_com.google.android.iwlan.xml",
    filename_from_src: true,
    system_ext_specific: true,
}

prebuilt_etc {
    name: "sysconfig_com.google.android.iwlan.xml",
    sub_dir: "sysconfig",
    src: "sysconfig_com.google.android.iwlan.xml",
    filename_from_src: true,
    system_ext_specific: true,
}

android_test {
    name: "IwlanTests",

    manifest: "test/AndroidManifest.xml",

    srcs: [
        "src/**/*.java",
        "test/**/*.java",
        ":statslog-Iwlan-java-gen",
    ],

    platform_apis: true,

    certificate: "platform",

    test_suites: ["device-tests"],

    compile_multilib: "both",

    libs: [
        "android.net.ipsec.ike.stubs.system",
        "auto_value_annotations",
    ],

    errorprone: {
        enabled: true,
        // Error-prone checking only warns of problems when building. To make the build fail with
        // these errors, list the specific error-prone problems below.
        javacflags: [
            "-Xep:NullablePrimitive:ERROR",
            "-Xep:AutoValueImmutableFields:OFF",
            "-Xep:DoNotMockAutoValue:OFF",
            "-Xep:JavaUtilDate:OFF",
            "-Xep:LongFloatConversion:OFF",
        ],
    },

    plugins: ["auto_value_plugin"],

    static_libs: [
        "android-support-annotations",
        "androidx.test.rules",
        "frameworks-base-testutils",
        "mockito-target-inline-minus-junit4",
        "mockito-target-extended-minus-junit4",
        "iwlan_telephony_flags_lib",
        "platform-test-annotations",
        "flag-junit",
        "StatsdTestUtils",
        "statsdprotolite",
    ],

    jni_libs: [
        "libdexmakerjvmtiagent",
        "libstaticjvmtiagent",
        "libmultiplejvmtiagentsinterferenceagent",
    ],
}
