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

// libinput is partially built for the host (used by build time keymap validation tool)

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

filegroup {
    name: "inputconstants_aidl",
    srcs: [
        "android/os/IInputConstants.aidl",
        "android/os/InputEventInjectionResult.aidl",
        "android/os/InputEventInjectionSync.aidl",
        "android/os/InputConfig.aidl",
    ],
}

/////////////////////////////////////////////////
// flags
/////////////////////////////////////////////////
aconfig_declarations {
    name: "com.android.input.flags-aconfig",
    package: "com.android.input.flags",
    container: "system",
    srcs: ["input_flags.aconfig"],
}

cc_aconfig_library {
    name: "com.android.input.flags-aconfig-cc",
    aconfig_declarations: "com.android.input.flags-aconfig",
    host_supported: true,
    // Use the test version of the aconfig flag library by default to allow tests to set local
    // overrides for flags, without having to link against a separate version of libinput or of this
    // library. Bundling this library directly into libinput prevents us from having to add this
    // library as a shared lib dependency everywhere where libinput is used.
    mode: "test",
    shared: {
        enabled: false,
    },
}

aidl_interface {
    name: "inputconstants",
    host_supported: true,
    vendor_available: true,
    unstable: true,
    srcs: [
        ":inputconstants_aidl",
    ],

    backend: {
        rust: {
            enabled: true,
        },
    },
}

rust_bindgen {
    name: "libinput_bindgen",
    host_supported: true,
    crate_name: "input_bindgen",
    visibility: ["//frameworks/native/services/inputflinger"],
    wrapper_src: "InputWrapper.hpp",

    include_dirs: [
        "frameworks/native/include",
    ],

    source_stem: "bindings",

    bindgen_flags: [
        "--verbose",
        "--allowlist-var=AMOTION_EVENT_FLAG_CANCELED",
        "--allowlist-var=AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED",
        "--allowlist-var=AMOTION_EVENT_FLAG_WINDOW_IS_PARTIALLY_OBSCURED",
        "--allowlist-var=AMOTION_EVENT_FLAG_IS_ACCESSIBILITY_EVENT",
        "--allowlist-var=AMOTION_EVENT_FLAG_NO_FOCUS_CHANGE",
        "--allowlist-var=AMOTION_EVENT_ACTION_CANCEL",
        "--allowlist-var=AMOTION_EVENT_ACTION_UP",
        "--allowlist-var=AMOTION_EVENT_ACTION_POINTER_DOWN",
        "--allowlist-var=AMOTION_EVENT_ACTION_DOWN",
        "--allowlist-var=AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT",
        "--allowlist-var=MAX_POINTER_ID",
        "--allowlist-var=AINPUT_SOURCE_CLASS_NONE",
        "--allowlist-var=AINPUT_SOURCE_CLASS_BUTTON",
        "--allowlist-var=AINPUT_SOURCE_CLASS_POINTER",
        "--allowlist-var=AINPUT_SOURCE_CLASS_NAVIGATION",
        "--allowlist-var=AINPUT_SOURCE_CLASS_POSITION",
        "--allowlist-var=AINPUT_SOURCE_CLASS_JOYSTICK",
        "--allowlist-var=AINPUT_SOURCE_UNKNOWN",
        "--allowlist-var=AINPUT_SOURCE_KEYBOARD",
        "--allowlist-var=AINPUT_SOURCE_DPAD",
        "--allowlist-var=AINPUT_SOURCE_GAMEPAD",
        "--allowlist-var=AINPUT_SOURCE_TOUCHSCREEN",
        "--allowlist-var=AINPUT_SOURCE_MOUSE",
        "--allowlist-var=AINPUT_SOURCE_STYLUS",
        "--allowlist-var=AINPUT_SOURCE_BLUETOOTH_STYLUS",
        "--allowlist-var=AINPUT_SOURCE_TRACKBALL",
        "--allowlist-var=AINPUT_SOURCE_MOUSE_RELATIVE",
        "--allowlist-var=AINPUT_SOURCE_TOUCHPAD",
        "--allowlist-var=AINPUT_SOURCE_TOUCH_NAVIGATION",
        "--allowlist-var=AINPUT_SOURCE_JOYSTICK",
        "--allowlist-var=AINPUT_SOURCE_HDMI",
        "--allowlist-var=AINPUT_SOURCE_SENSOR",
        "--allowlist-var=AINPUT_SOURCE_ROTARY_ENCODER",
    ],

    static_libs: [
        "inputconstants-cpp",
        "libui-types",
    ],
    shared_libs: ["libc++"],
    header_libs: [
        "native_headers",
        "jni_headers",
        "flatbuffer_headers",
    ],
}

// Contains methods to help access C++ code from rust
cc_library_static {
    name: "libinput_from_rust_to_cpp",
    cpp_std: "c++20",
    host_supported: true,
    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
    ],
    srcs: [
        "FromRustToCpp.cpp",
    ],

    generated_headers: [
        "cxx-bridge-header",
    ],
    generated_sources: ["libinput_cxx_bridge_code"],

    shared_libs: [
        "libbase",
    ],
}

cc_library {
    name: "libinput",
    cpp_std: "c++20",
    host_supported: true,
    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
        "-Wno-unused-parameter",
        "-Wthread-safety",
        "-Wshadow",
        "-Wshadow-field-in-constructor-modified",
        "-Wshadow-uncaptured-local",
        "-DANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION",
    ],
    srcs: [
        "android/os/IInputFlinger.aidl",
        "android/os/InputChannelCore.aidl",
        "AccelerationCurve.cpp",
        "Input.cpp",
        "InputDevice.cpp",
        "InputEventLabels.cpp",
        "InputTransport.cpp",
        "InputVerifier.cpp",
        "Keyboard.cpp",
        "KeyCharacterMap.cpp",
        "KeyLayoutMap.cpp",
        "MotionPredictor.cpp",
        "MotionPredictorMetricsManager.cpp",
        "PrintTools.cpp",
        "PropertyMap.cpp",
        "TfLiteMotionPredictor.cpp",
        "TouchVideoFrame.cpp",
        "VelocityControl.cpp",
        "VelocityTracker.cpp",
        "VirtualInputDevice.cpp",
        "VirtualKeyMap.cpp",
    ],

    header_libs: [
        "flatbuffer_headers",
        "jni_headers",
        "libeigen",
        "tensorflow_headers",
    ],
    export_header_lib_headers: [
        "jni_headers",
        "libeigen",
    ],

    generated_headers: [
        "cxx-bridge-header",
        "libinput_cxx_bridge_header",
        "toolbox_input_labels",
    ],

    shared_libs: [
        "libbase",
        "libbinder",
        "libcutils",
        "liblog",
        "libPlatformProperties",
        "libtinyxml2",
        "libutils",
        "libz", // needed by libkernelconfigs
        "server_configurable_flags",
    ],

    ldflags: [
        "-Wl,--exclude-libs=libtflite_static.a",
    ],

    sanitize: {
        undefined: true,
        all_undefined: true,
        misc_undefined: ["integer"],
    },

    static_libs: [
        "inputconstants-cpp",
        "libgui_window_info_static",
        "libui-types",
        "libtflite_static",
        "libkernelconfigs",
    ],

    whole_static_libs: [
        "com.android.input.flags-aconfig-cc",
        "libinput_rust_ffi",
    ],

    export_static_lib_headers: [
        "libgui_window_info_static",
        "libui-types",
    ],

    export_generated_headers: [
        "cxx-bridge-header",
        "libinput_cxx_bridge_header",
    ],

    target: {
        android: {
            export_shared_lib_headers: ["libbinder"],

            shared_libs: [
                "libutils",
                "libbinder",
                // Stats logging library and its dependencies.
                "libstatslog_libinput",
                "libstatsbootstrap",
                "android.os.statsbootstrap_aidl-cpp",
            ],

            required: [
                "motion_predictor_model_prebuilt",
                "motion_predictor_model_config",
            ],
        },
        host: {
            include_dirs: [
                "bionic/libc/kernel/android/uapi/",
                "bionic/libc/kernel/uapi",
            ],
        },
    },

    aidl: {
        local_include_dirs: ["."],
        export_aidl_headers: true,
        include_dirs: [
            "frameworks/native/libs/gui",
        ],
    },
}

// Use bootstrap version of stats logging library.
// libinput is a bootstrap process (starts early in the boot process), and thus can't use the normal
// `libstatslog` because that requires `libstatssocket`, which is only available later in the boot.
cc_library {
    name: "libstatslog_libinput",
    generated_sources: ["statslog_libinput.cpp"],
    generated_headers: ["statslog_libinput.h"],
    export_generated_headers: ["statslog_libinput.h"],
    shared_libs: [
        "libbinder",
        "libstatsbootstrap",
        "libutils",
        "android.os.statsbootstrap_aidl-cpp",
    ],
}

genrule {
    name: "statslog_libinput.h",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_libinput.h --module libinput" +
        " --namespace android,stats,libinput --bootstrap",
    out: [
        "statslog_libinput.h",
    ],
}

genrule {
    name: "statslog_libinput.cpp",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_libinput.cpp --module libinput" +
        " --namespace android,stats,libinput --importHeader statslog_libinput.h" +
        " --bootstrap",
    out: [
        "statslog_libinput.cpp",
    ],
}

cc_defaults {
    name: "libinput_fuzz_defaults",
    cpp_std: "c++20",
    host_supported: true,
    shared_libs: [
        "libutils",
        "libbase",
        "liblog",
    ],
}

cc_fuzz {
    name: "libinput_fuzz_propertymap",
    defaults: ["libinput_fuzz_defaults"],
    srcs: [
        "PropertyMap.cpp",
        "PropertyMap_fuzz.cpp",
    ],
}

subdirs = ["tests"]
