// Copyright (C) 2020 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_applicable_licenses: ["Android-Apache-2.0"], } filegroup { name: "rotary-service-proto-source", srcs: [ "proto/car_rotary_controller.proto", ], } gensrcs { name: "rotary-service-javastream-protos", depfile: true, tools: [ "aprotoc", "protoc-gen-javastream", "soong_zip", ], cmd: "mkdir -p $(genDir)/$(in) " + "&& $(location aprotoc) " + " --plugin=$(location protoc-gen-javastream) " + " --dependency_out=$(depfile) " + " --javastream_out=$(genDir)/$(in) " + " -Iexternal/protobuf/src " + " -I . " + " $(in) " + "&& $(location soong_zip) -jar -o $(out) -C $(genDir)/$(in) -D $(genDir)/$(in)", srcs: [ ":rotary-service-proto-source", ], output_extension: "srcjar", } android_app { name: "CarRotaryController", srcs: [ "src/**/*.java", ":rotary-service-javastream-protos", ], resource_dirs: ["res"], // This app uses allowlisted privileged permissions. required: ["allowed_privapp_com.android.car.rotary"], // Because it uses a platform API (CarInputManager). platform_apis: true, // This app should be platform signed because it requires // android.car.permission.CAR_MONITOR_INPUT permission, which is of type "signature". certificate: "platform", // This app uses allowlisted privileged permissions. privileged: true, optimize: { enabled: false, }, dex_preopt: { enabled: false, }, libs: [ "android.car", ], static_libs: [ "car-ui-lib", ], product_variables: { pdk: { enabled: false, }, }, } android_library { name: "CarRotaryControllerForUnitTesting", manifest: "tests/unit/AndroidManifest.xml", srcs: [ "src/**/*.java", ":rotary-service-javastream-protos", ], resource_dirs: [ "tests/unit/res", "res", ], platform_apis: true, optimize: { enabled: false, }, dex_preopt: { enabled: false, }, libs: [ "android.car", ], static_libs: [ "car-ui-lib", ], product_variables: { pdk: { enabled: false, }, }, aaptflags: ["--extra-packages com.android.car.rotary"], }