blob: c3a7d760f120fba4ac70cf06587a64c4e58952a0 [file] [log] [blame]
//
// Copyright (C) 2019 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: [
"packages_modules_Permission_PermissionController_license",
],
}
// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
name: "packages_modules_Permission_PermissionController_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
],
license_text: [
"NOTICE",
],
}
genrule {
name: "statslog-permissioncontroller-java-gen",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --java $(out) --module permissioncontroller" +
" --javaPackage com.android.permissioncontroller" +
" --javaClass PermissionControllerStatsLog --minApiLevel 29",
out: ["com/android/permissioncontroller/PermissionControllerStatsLog.java"],
}
java_library {
name: "permissioncontroller-statsd",
sdk_version: "system_current",
min_sdk_version: "30",
apex_available: [
"com.android.permission",
],
srcs: [
":statslog-permissioncontroller-java-gen",
],
}
// File to be included by permission controller app an mocking tests
filegroup {
name: "permissioncontroller-sources",
srcs: [
"src/**/*.java",
"src/**/*.kt",
":permissioncontroller-protos",
],
}
filegroup {
name: "permissioncontroller-protos",
srcs: [
"src/**/*.proto",
],
}
android_app {
name: "PermissionController",
sdk_version: "system_current",
target_sdk_version: "system_current",
min_sdk_version: "30",
updatable: true,
privileged: true,
certificate: "platform",
rename_resources_package: false,
srcs: [":permissioncontroller-sources"],
libs: [
"android.car-stubs",
// Soong fails to automatically add this dependency because all the
// *.kt sources are inside a filegroup.
"kotlin-annotations",
],
static_libs: [
"iconloader",
"com.google.android.material_material",
"androidx.transition_transition",
"androidx-constraintlayout_constraintlayout",
"androidx.core_core",
"androidx.media_media",
"androidx.legacy_legacy-support-core-utils",
"androidx.legacy_legacy-support-core-ui",
"androidx.fragment_fragment",
"androidx.appcompat_appcompat",
"androidx.preference_preference",
"androidx.recyclerview_recyclerview",
"androidx.legacy_legacy-preference-v14",
"androidx.leanback_leanback",
"androidx.leanback_leanback-preference",
"androidx.lifecycle_lifecycle-extensions",
"androidx.lifecycle_lifecycle-common-java8",
"kotlin-stdlib",
"kotlinx-coroutines-android",
"androidx.navigation_navigation-common-ktx",
"androidx.navigation_navigation-fragment-ktx",
"androidx.navigation_navigation-runtime-ktx",
"androidx.navigation_navigation-ui-ktx",
"SettingsLibHelpUtils",
"SettingsLibRestrictedLockUtils",
"SettingsLibAppPreference",
"SettingsLibSearchWidget",
"SettingsLibLayoutPreference",
"SettingsLibBarChartPreference",
"SettingsLibActionBarShadow",
"SettingsLibProgressBar",
"SettingsLibCollapsingToolbarBaseActivity",
"SettingsLibSettingsTheme",
"SettingsLibFooterPreference",
"SettingsLibRadioButtonPreference",
"SettingsLibTwoTargetPreference",
"androidx.annotation_annotation",
"permissioncontroller-statsd",
"car-ui-lib",
"libprotobuf-java-lite",
"SettingsLibUtils",
"modules-utils-build_system",
],
proto: {
type: "lite",
},
lint: {
strict_updatability_linting: true,
},
optimize: {
proguard_flags_files: ["proguard.flags"],
},
plugins: ["java_api_finder"],
kotlincflags: ["-Xjvm-default=enable"],
apex_available: [
"//apex_available:platform",
"com.android.permission",
],
}