Files
frameworks_base/services/Android.bp
Helen Qin 20ff355163 Framework credential manager developer APIs definitions.
The CredentialManager module provides solution for developers to create
or get credential from a user that can be used to authenticate to the app.
It can potentially launch system level UI flows to collect user consent,
render a unified selector when more than one credential exists, and
perform anything else needed.

Check bug id for detailed design.

Note that this is still very early stage of productionizing the module
and proper test cases will be added subsequently when the service
gets more concrete business logic.

Bug: 246564035
CTS-Coverage-Bug: 246637346
Test: Local Build & Deployment
Change-Id: Ia5884a7f6a3908de3b8b4b29f154f98e25730bd7
2022-10-03 07:28:30 +00:00

252 lines
7.8 KiB
Plaintext

package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "frameworks_base_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_base_license"],
}
// Defaults for platform code that runs inside system_server
java_defaults {
name: "platform_service_defaults",
plugins: ["error_prone_android_framework"],
errorprone: {
javacflags: [
"-Xep:AndroidFrameworkCompatChange:ERROR",
// "-Xep:AndroidFrameworkUid:ERROR",
"-Xep:SelfEquals:ERROR",
"-Xep:NullTernary:ERROR",
"-Xep:TryFailThrowable:ERROR",
"-Xep:HashtableContains:ERROR",
"-Xep:FormatString:ERROR",
"-Xep:ArrayHashCode:ERROR",
"-Xep:SelfAssignment:ERROR",
"-Xep:ArrayEquals:ERROR",
"-Xep:IdentityBinaryExpression:ERROR",
// NOTE: only enable to generate local patchfiles
// "-XepPatchChecks:refaster:frameworks/base/errorprone/refaster/EfficientXml.java.refaster",
// "-XepPatchLocation:/tmp/refaster/",
],
},
lint: {
extra_check_modules: ["AndroidFrameworkLintChecker"],
},
}
// Opt-in config for optimizing and shrinking the services target using R8.
// Enabled via `export SYSTEM_OPTIMIZE_JAVA=true`, or explicitly in Make via the
// `SOONG_CONFIG_ANDROID_SYSTEM_OPTIMIZE_JAVA` variable.
// TODO(b/196084106): Enable optimizations by default after stabilizing and
// building out retrace infrastructure.
soong_config_module_type {
name: "system_optimized_java_defaults",
module_type: "java_defaults",
config_namespace: "ANDROID",
bool_variables: ["SYSTEM_OPTIMIZE_JAVA"],
properties: ["optimize"],
}
system_optimized_java_defaults {
name: "services_java_defaults",
soong_config_variables: {
SYSTEM_OPTIMIZE_JAVA: {
optimize: {
enabled: true,
// TODO(b/210510433): Enable optimizations after improving
// retracing infra.
optimize: false,
shrink: true,
ignore_warnings: false,
proguard_flags_files: ["proguard.flags"],
},
// Note: Optimizations are disabled by default if unspecified in
// the java_library rule.
conditions_default: {},
},
},
}
filegroup {
name: "services-main-sources",
srcs: [
"java/**/*.java",
"java/**/package.html",
],
path: "java",
visibility: ["//visibility:private"],
}
filegroup {
name: "services-non-updatable-sources",
srcs: [
":services.core-sources",
":services.core-sources-am-wm",
"core/java/com/android/server/am/package.html",
":services.accessibility-sources",
":services.appprediction-sources",
":services.appwidget-sources",
":services.autofill-sources",
":services.backup-sources",
":backuplib-sources",
":services.companion-sources",
":services.contentcapture-sources",
":services.contentsuggestions-sources",
":services.coverage-sources",
":services.credentials-sources",
":services.devicepolicy-sources",
":services.midi-sources",
":services.musicsearch-sources",
":services.net-sources",
":services.print-sources",
":services.profcollect-sources",
":services.restrictions-sources",
":services.searchui-sources",
":services.selectiontoolbar-sources",
":services.smartspace-sources",
":services.systemcaptions-sources",
":services.translation-sources",
":services.texttospeech-sources",
":services.usage-sources",
":services.usb-sources",
":services.voiceinteraction-sources",
":services.wallpapereffectsgeneration-sources",
":services.wifi-sources",
],
visibility: ["//visibility:private"],
}
java_library {
name: "Slogf",
srcs: ["core/java/com/android/server/utils/Slogf.java"],
}
// merge all required services into one jar
// ============================================================
java_library {
name: "services",
defaults: ["services_java_defaults"],
installable: true,
dex_preopt: {
app_image: true,
profile: "art-profile",
},
srcs: [":services-main-sources"],
// The convention is to name each service module 'services.$(module_name)'
static_libs: [
"services.core",
"services.accessibility",
"services.appprediction",
"services.appwidget",
"services.autofill",
"services.backup",
"services.companion",
"services.contentcapture",
"services.contentsuggestions",
"services.coverage",
"services.credentials",
"services.devicepolicy",
"services.midi",
"services.musicsearch",
"services.net",
"services.people",
"services.print",
"services.profcollect",
"services.restrictions",
"services.searchui",
"services.selectiontoolbar",
"services.smartspace",
"services.systemcaptions",
"services.translation",
"services.texttospeech",
"services.usage",
"services.usb",
"services.voiceinteraction",
"services.wallpapereffectsgeneration",
"services.wifi",
"service-blobstore",
"service-jobscheduler",
"android.hidl.base-V1.0-java",
],
libs: [
"android.hidl.manager-V1.0-java",
"framework-tethering.stubs.module_lib",
"service-art.stubs.system_server",
"service-permission.stubs.system_server",
"service-sdksandbox.stubs.system_server",
],
// Uncomment to enable output of certain warnings (deprecated, unchecked)
//javacflags: ["-Xlint"],
}
// native library
// =============================================================
cc_library_shared {
name: "libandroid_servers",
defaults: ["libservices.core-libs"],
whole_static_libs: ["libservices.core"],
}
platform_compat_config {
name: "services-platform-compat-config",
src: ":services",
}
filegroup {
name: "art-profile",
srcs: ["art-profile"],
}
// API stub
// =============================================================
stubs_defaults {
name: "services-stubs-default",
installable: false,
args: " --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.SYSTEM_SERVER\\)" +
" --hide-annotation android.annotation.Hide" +
" --hide InternalClasses" + // com.android.* classes are okay in this interface
// TODO: remove the --hide options below
" --hide DeprecationMismatch" +
" --hide HiddenTypedefConstant",
visibility: ["//frameworks/base:__subpackages__"],
filter_packages: ["com.android."],
}
droidstubs {
name: "services-non-updatable-stubs",
srcs: [":services-non-updatable-sources"],
defaults: ["services-stubs-default"],
check_api: {
current: {
api_file: "api/current.txt",
removed_api_file: "api/removed.txt",
},
api_lint: {
enabled: true,
new_since: ":android-non-updatable.api.system-server.latest",
baseline_file: "api/lint-baseline.txt",
},
},
dists: [
{
targets: ["sdk"],
dir: "apistubs/android/system-server/api",
dest: "android-non-updatable.txt",
tag: ".api.txt",
},
{
targets: ["sdk"],
dir: "apistubs/android/system-server/api",
dest: "android-non-updatable-removed.txt",
tag: ".removed-api.txt",
},
],
}