| // |
| // 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_team: "trendy_team_android_permissions", |
| 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 30", |
| 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", |
| ], |
| lint: { |
| baseline_filename: "lint-baseline.xml", |
| }, |
| } |
| |
| java_library { |
| name: "permissioncontroller-protos", |
| sdk_version: "system_current", |
| min_sdk_version: "30", |
| srcs: [ |
| "src/**/*.proto", |
| ], |
| proto: { |
| type: "lite", |
| include_dirs: ["packages/modules/Permission/PermissionController/src/com/android/permissioncontroller"], |
| }, |
| apex_available: [ |
| "//apex_available:platform", |
| "com.android.permission", |
| ], |
| } |
| |
| android_library { |
| name: "PermissionController-lib", |
| sdk_version: "system_current", |
| min_sdk_version: "30", |
| use_resource_processor: true, |
| manifest: "AndroidManifest-lib.xml", |
| srcs: [ |
| "src/**/*.java", |
| "src/**/*.kt", |
| ], |
| |
| //javacflags: ["-Werror"], |
| kotlincflags: [ |
| "-Werror", |
| "-opt-in=kotlinx.coroutines.DelicateCoroutinesApi", |
| "-Xjvm-default=all", |
| ], |
| |
| libs: [ |
| "android.car-stubs", |
| "safety-center-annotations", |
| ], |
| |
| static_libs: [ |
| "permissioncontroller-protos", |
| "iconloader_sc_mainline_prod", |
| "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", |
| "SettingsLibActivityEmbedding", |
| "SettingsLibSettingsTheme", |
| "SettingsLibFooterPreference", |
| "SettingsLibSelectorWithWidgetPreference", |
| "SettingsLibTwoTargetPreference", |
| "SettingsLibIllustrationPreference", |
| "androidx.annotation_annotation", |
| "permissioncontroller-statsd", |
| "car-ui-lib", |
| "libprotobuf-java-lite", |
| "safety-center-internal-data", |
| "safety-center-pending-intents", |
| "SettingsLibUtils", |
| "modules-utils-build_system", |
| "safety-center-resources-lib", |
| "lottie", |
| "safety-label", |
| "role-controller", |
| "permissions-flags-lib", |
| "android.permission.flags-aconfig-java", |
| "androidx.compose.foundation_foundation", |
| "androidx.compose.runtime_runtime", |
| "androidx.compose.runtime_runtime-livedata", |
| "androidx.compose.ui_ui", |
| "androidx.wear.compose_compose-material", |
| ], |
| |
| lint: { |
| strict_updatability_linting: true, |
| error_checks: ["Recycle"], |
| }, |
| |
| apex_available: [ |
| "//apex_available:platform", |
| "com.android.permission", |
| ], |
| |
| // TODO(b/313706381): Remove jarjar once flagging lib is fixed |
| jarjar_rules: "jarjar-rules.txt", |
| } |
| |
| android_app { |
| name: "PermissionController", |
| // Compiling against "module_current" would allow using non-APIs within the permission APEX |
| // boundaries, which may be unsafe because PermissionController is also shipped as a standalone |
| // artifact. See also b/209458854. |
| sdk_version: "system_current", |
| min_sdk_version: "30", |
| updatable: true, |
| privileged: true, |
| certificate: "platform", |
| use_resource_processor: true, |
| rename_resources_package: false, |
| privapp_allowlist: ":privapp_allowlist_com.android.permissioncontroller.xml", |
| |
| static_libs: ["PermissionController-lib"], |
| |
| lint: { |
| strict_updatability_linting: true, |
| error_checks: ["Recycle"], |
| baseline_filename: "lint-baseline.xml", |
| }, |
| |
| optimize: { |
| proguard_compatibility: false, // TODO(b/215530220): remove when this is default behavior |
| proguard_flags_files: ["proguard.flags"], |
| }, |
| |
| apex_available: [ |
| "//apex_available:platform", |
| "com.android.permission", |
| ], |
| } |