// Copyright (C) 2019-2024 The LineageOS 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.

cc_binary {
    name: "vendor.lineage.touch@1.0-service.samsung",
    init_rc: ["vendor.lineage.touch@1.0-service.samsung.rc"],
    defaults: ["samsung_header_path_defaults"],
    relative_install_path: "hw",
    // FIXME: this should be 'vendor: true' for modules that will eventually be
    // on AOSP.
    proprietary: true,
    srcs: [
        "GloveMode.cpp",
        "KeyDisabler.cpp",
        "StylusMode.cpp",
        "TouchscreenGesture.cpp",
        "service.cpp"
    ],
    shared_libs: [
        "libbase",
        "libbinder",
        "libhidlbase",
        "libutils",
        "vendor.lineage.touch@1.0",
    ],
}
