2016-09-23 15:55:49 -07:00
|
|
|
// Copyright (C) 2016 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.
|
|
|
|
|
2017-11-16 00:15:28 -08:00
|
|
|
// Build the master framework library.
|
|
|
|
|
|
|
|
// READ ME: ########################################################
|
|
|
|
//
|
|
|
|
// When updating this list of aidl files, consider if that aidl is
|
|
|
|
// part of the SDK API. If it is, also add it to the list in Android.mk
|
|
|
|
// that is preprocessed and distributed with the SDK. This list should
|
|
|
|
// not contain any aidl files for parcelables, but the one below should
|
|
|
|
// if you intend for 3rd parties to be able to send those objects
|
|
|
|
// across process boundaries.
|
|
|
|
//
|
|
|
|
// READ ME: ########################################################
|
|
|
|
|
2021-02-12 17:07:05 -08:00
|
|
|
package {
|
|
|
|
default_applicable_licenses: ["frameworks_base_license"],
|
|
|
|
}
|
|
|
|
|
|
|
|
// Added automatically by a large-scale-change that took the approach of
|
|
|
|
// 'apply every license found to every target'. While this makes sure we respect
|
|
|
|
// every license restriction, it may not be entirely correct.
|
|
|
|
//
|
|
|
|
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
|
|
|
|
//
|
|
|
|
// Please consider splitting the single license below into multiple licenses,
|
|
|
|
// taking care not to lose any license_kind information, and overriding the
|
|
|
|
// default license using the 'licenses: [...]' property on targets as needed.
|
|
|
|
//
|
|
|
|
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
|
|
|
|
// to attach the license to, and including a comment whether the files may be
|
|
|
|
// used in the current project.
|
|
|
|
// See: http://go/android-license-faq
|
|
|
|
license {
|
|
|
|
name: "frameworks_base_license",
|
|
|
|
visibility: [":__subpackages__"],
|
|
|
|
license_kinds: [
|
|
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
|
|
"SPDX-license-identifier-BSD",
|
|
|
|
"SPDX-license-identifier-CC-BY",
|
|
|
|
"SPDX-license-identifier-CPL-1.0",
|
|
|
|
"SPDX-license-identifier-GPL",
|
|
|
|
"SPDX-license-identifier-GPL-2.0",
|
|
|
|
"SPDX-license-identifier-MIT",
|
|
|
|
"SPDX-license-identifier-Unicode-DFS",
|
|
|
|
"SPDX-license-identifier-W3C",
|
|
|
|
"legacy_unencumbered",
|
|
|
|
],
|
|
|
|
license_text: [
|
|
|
|
"NOTICE",
|
|
|
|
],
|
|
|
|
}
|
|
|
|
|
2019-08-19 15:24:49 +09:00
|
|
|
filegroup {
|
2019-09-15 20:19:02 +09:00
|
|
|
name: "framework-non-updatable-sources",
|
2019-08-19 15:24:49 +09:00
|
|
|
srcs: [
|
|
|
|
// Java/AIDL sources under frameworks/base
|
2019-10-04 16:16:13 -07:00
|
|
|
":framework-blobstore-sources",
|
2019-08-19 15:24:49 +09:00
|
|
|
":framework-core-sources",
|
|
|
|
":framework-drm-sources",
|
2020-03-02 21:38:09 +00:00
|
|
|
":framework-graphics-nonupdatable-sources",
|
2019-10-21 14:01:06 +09:00
|
|
|
":framework-jobscheduler-sources", // jobscheduler is not a module for R
|
2019-08-19 15:24:49 +09:00
|
|
|
":framework-keystore-sources",
|
2019-10-29 15:15:18 -04:00
|
|
|
":framework-identity-sources",
|
2019-08-19 15:24:49 +09:00
|
|
|
":framework-location-sources",
|
|
|
|
":framework-lowpan-sources",
|
|
|
|
":framework-mca-effect-sources",
|
|
|
|
":framework-mca-filterfw-sources",
|
|
|
|
":framework-mca-filterpacks-sources",
|
2019-10-21 14:01:06 +09:00
|
|
|
":framework-media-sources",
|
2019-10-07 17:41:26 -07:00
|
|
|
":framework-mms-sources",
|
2019-08-19 15:24:49 +09:00
|
|
|
":framework-opengl-sources",
|
|
|
|
":framework-rs-sources",
|
|
|
|
":framework-sax-sources",
|
|
|
|
":framework-telecomm-sources",
|
2019-09-23 17:59:57 -07:00
|
|
|
":framework-telephony-common-sources",
|
2020-03-16 15:28:35 -07:00
|
|
|
":framework-telephony-sources",
|
2020-08-10 17:54:33 -07:00
|
|
|
":framework-vcn-util-sources",
|
2019-12-14 21:37:20 -08:00
|
|
|
":framework-wifi-annotations",
|
2019-12-10 13:33:06 -08:00
|
|
|
":framework-wifi-non-updatable-sources",
|
2019-08-19 15:24:49 +09:00
|
|
|
":PacProcessor-aidl-sources",
|
|
|
|
":ProxyHandler-aidl-sources",
|
2020-01-13 15:03:35 +08:00
|
|
|
":net-utils-framework-common-srcs",
|
2019-08-19 15:24:49 +09:00
|
|
|
|
2019-10-10 19:27:31 +01:00
|
|
|
// AIDL from frameworks/base/native/
|
|
|
|
":platform-compat-native-aidl",
|
|
|
|
|
2019-08-19 15:24:49 +09:00
|
|
|
// AIDL sources from external directories
|
2021-03-17 11:02:19 -07:00
|
|
|
":android.hardware.security.keymint-V1-java-source",
|
|
|
|
":android.hardware.security.secureclock-V1-java-source",
|
|
|
|
":android.security.apc-java-source",
|
|
|
|
":android.security.authorization-java-source",
|
|
|
|
":android.security.maintenance-java-source",
|
|
|
|
":android.security.vpnprofilestore-java-source",
|
|
|
|
":android.system.keystore2-V1-java-source",
|
2019-10-29 15:15:18 -04:00
|
|
|
":credstore_aidl",
|
2019-08-19 15:24:49 +09:00
|
|
|
":dumpstate_aidl",
|
|
|
|
":framework_native_aidl",
|
|
|
|
":gatekeeper_aidl",
|
|
|
|
":gsiservice_aidl",
|
2021-02-12 09:21:52 -08:00
|
|
|
":idmap2_aidl",
|
2021-01-19 13:51:15 -08:00
|
|
|
":idmap2_core_aidl",
|
2019-08-19 15:24:49 +09:00
|
|
|
":incidentcompanion_aidl",
|
Block untrusted touches opt-in
The feature is disabled by default and can be in one of 3 modes:
disabled, permissive and block. In permissive we only log but
don't block the touch. This knob is implemented in a global setting
block_untrusted_touches. It can also be disabled per occluding app using
app-compat infrastructure, so if you disable for a certain app, overlays
of that app won't have the chance of blocking touches. More details
on these on go/try-cross-uid-touches.
Each window has 3 modes related to touch occlusion: ALLOW, USE_OPACITY
or BLOCK_UNTRUSTRED. Check code comments for the meaning of each. If the
feature is turned off for the app, then the mode is ALLOW. Else if it's
a SAW, then it's USE_OPACITY. Else it's BLOCK_UNTRUSTED. These states
are passed to InputDispatcher, who then perform the proper checks and
blocks or not the touch.
If input dispatcher deems the touch unsafe, depending on the feature
mode, we filter out such touches and log a message to logcat.
I also introduce a global (secure) setting
MAXIMUM_OBSCURING_OPACITY_FOR_TOUCH which represents the maximum
opacity allowed per UID that's obscuring the touch-consuming window
according to some rules, which are discussed in topic CL for
InputDispatcher code. This maximum is initially set to 0.8, but we'll
be conducting local experiments to determine the final value.
Test: atest WindowUntrustedTouchTest
Test: atest inputflinger_tests inputflinger_benchmarks libinput_tests
Test: go/try-cross-uid-touches for manual testing
Bug: 158002302
Change-Id: I462858ad5f0d11b1261748489385e6409e38e4b1
2020-08-19 14:45:30 +01:00
|
|
|
":inputconstants_aidl",
|
2019-08-19 15:24:49 +09:00
|
|
|
":installd_aidl",
|
|
|
|
":libaudioclient_aidl",
|
|
|
|
":libbinder_aidl",
|
|
|
|
":libbluetooth-binder-aidl",
|
|
|
|
":libcamera_client_aidl",
|
|
|
|
":libcamera_client_framework_aidl",
|
2021-03-26 01:32:39 +00:00
|
|
|
":packagemanager_aidl",
|
2019-08-19 15:24:49 +09:00
|
|
|
":libupdate_engine_aidl",
|
2020-06-08 21:29:59 -07:00
|
|
|
":resourcemanager_aidl",
|
2019-08-19 15:24:49 +09:00
|
|
|
":storaged_aidl",
|
|
|
|
":vold_aidl",
|
2021-02-25 18:07:34 +01:00
|
|
|
":deviceproductinfoconstants_aidl",
|
2019-08-19 15:24:49 +09:00
|
|
|
|
|
|
|
// For the generated R.java and Manifest.java
|
|
|
|
":framework-res{.aapt.srcjar}",
|
|
|
|
|
|
|
|
// etc.
|
|
|
|
":framework-javastream-protos",
|
2020-01-27 16:36:45 -08:00
|
|
|
":statslog-framework-java-gen", // FrameworkStatsLog.java
|
2020-11-05 16:28:21 -08:00
|
|
|
":audio_policy_configuration_V7_0",
|
2019-08-19 15:24:49 +09:00
|
|
|
],
|
|
|
|
}
|
2019-08-07 22:45:07 +09:00
|
|
|
|
2020-03-07 11:40:10 +00:00
|
|
|
java_library {
|
|
|
|
name: "framework-updatable-stubs-module_libs_api",
|
|
|
|
static_libs: [
|
2021-02-03 16:07:30 -08:00
|
|
|
"android.net.ipsec.ike.stubs.module_lib",
|
2020-10-08 13:43:48 +01:00
|
|
|
"framework-appsearch.stubs.module_lib",
|
2021-03-19 10:15:06 +00:00
|
|
|
"framework-connectivity.stubs.module_lib",
|
2020-05-31 16:55:13 +01:00
|
|
|
"framework-graphics.stubs.module_lib",
|
2020-05-31 11:35:50 +01:00
|
|
|
"framework-media.stubs.module_lib",
|
|
|
|
"framework-mediaprovider.stubs.module_lib",
|
|
|
|
"framework-permission.stubs.module_lib",
|
2021-01-21 12:48:43 -08:00
|
|
|
"framework-permission-s.stubs.module_lib",
|
2021-02-15 20:22:58 +00:00
|
|
|
"framework-scheduling.stubs.module_lib",
|
2020-05-31 11:35:50 +01:00
|
|
|
"framework-sdkextensions.stubs.module_lib",
|
|
|
|
"framework-statsd.stubs.module_lib",
|
|
|
|
"framework-tethering.stubs.module_lib",
|
|
|
|
"framework-wifi.stubs.module_lib",
|
2020-03-07 11:40:10 +00:00
|
|
|
],
|
|
|
|
sdk_version: "module_current",
|
2020-08-18 12:52:44 +01:00
|
|
|
visibility: ["//visibility:private"],
|
|
|
|
}
|
|
|
|
|
|
|
|
java_library {
|
|
|
|
name: "framework-all",
|
|
|
|
installable: false,
|
|
|
|
static_libs: [
|
2021-02-03 16:07:30 -08:00
|
|
|
"android.net.ipsec.ike.impl",
|
2020-08-18 12:52:44 +01:00
|
|
|
"framework-minus-apex",
|
2020-10-08 13:43:48 +01:00
|
|
|
"framework-appsearch.impl",
|
2021-03-19 10:15:06 +00:00
|
|
|
"framework-connectivity.impl",
|
2020-08-18 12:52:44 +01:00
|
|
|
"framework-graphics.impl",
|
|
|
|
"framework-mediaprovider.impl",
|
|
|
|
"framework-permission.impl",
|
2021-01-21 12:48:43 -08:00
|
|
|
"framework-permission-s.impl",
|
2021-02-15 20:22:58 +00:00
|
|
|
"framework-scheduling.impl",
|
2020-08-18 12:52:44 +01:00
|
|
|
"framework-sdkextensions.impl",
|
|
|
|
"framework-statsd.impl",
|
|
|
|
"framework-tethering.impl",
|
|
|
|
"framework-wifi.impl",
|
|
|
|
"updatable-media",
|
|
|
|
],
|
|
|
|
apex_available: ["//apex_available:platform"],
|
|
|
|
sdk_version: "core_platform",
|
|
|
|
visibility: [
|
|
|
|
// DO NOT ADD ANY MORE ENTRIES TO THIS LIST
|
|
|
|
"//external/robolectric-shadows:__subpackages__",
|
|
|
|
"//frameworks/layoutlib:__subpackages__",
|
|
|
|
],
|
2020-03-07 11:40:10 +00:00
|
|
|
}
|
|
|
|
|
2020-01-17 16:32:53 +09:00
|
|
|
// AIDL files under these paths are mixture of public and private ones.
|
|
|
|
// They shouldn't be exported across module boundaries.
|
2019-08-05 12:54:20 -07:00
|
|
|
java_defaults {
|
|
|
|
name: "framework-aidl-export-defaults",
|
|
|
|
aidl: {
|
2019-08-16 21:17:14 +09:00
|
|
|
export_include_dirs: [
|
|
|
|
"core/java",
|
|
|
|
"drm/java",
|
|
|
|
"graphics/java",
|
2019-10-29 15:15:18 -04:00
|
|
|
"identity/java",
|
2019-08-16 21:17:14 +09:00
|
|
|
"keystore/java",
|
|
|
|
"location/java",
|
|
|
|
"lowpan/java",
|
|
|
|
"media/java",
|
|
|
|
"media/mca/effect/java",
|
|
|
|
"media/mca/filterfw/java",
|
|
|
|
"media/mca/filterpacks/java",
|
2019-10-07 17:41:26 -07:00
|
|
|
"mms/java",
|
2019-08-16 21:17:14 +09:00
|
|
|
"opengl/java",
|
|
|
|
"rs/java",
|
|
|
|
"sax/java",
|
|
|
|
"telecomm/java",
|
2020-03-07 11:40:10 +00:00
|
|
|
|
2020-04-08 11:21:36 +09:00
|
|
|
"apex/media/aidl/stable",
|
2020-03-07 11:40:10 +00:00
|
|
|
// TODO(b/147699819): remove this
|
|
|
|
"telephony/java",
|
2019-08-16 21:17:14 +09:00
|
|
|
],
|
2019-08-05 12:54:20 -07:00
|
|
|
},
|
|
|
|
}
|
|
|
|
|
2019-08-19 15:24:49 +09:00
|
|
|
// Collection of classes that are generated from non-Java files that are not listed in
|
|
|
|
// framework_srcs. These have no or very limited dependency to the framework.
|
|
|
|
java_library {
|
|
|
|
name: "framework-internal-utils",
|
2017-11-16 00:15:28 -08:00
|
|
|
static_libs: [
|
2018-08-31 14:18:04 +01:00
|
|
|
"apex_aidl_interface-java",
|
2017-11-16 00:15:28 -08:00
|
|
|
"framework-protos",
|
2020-07-27 22:16:13 -07:00
|
|
|
"updatable-driver-protos",
|
2017-11-16 00:15:28 -08:00
|
|
|
"android.hidl.base-V1.0-java",
|
|
|
|
"android.hardware.cas-V1.0-java",
|
2019-12-27 16:50:20 -08:00
|
|
|
"android.hardware.cas-V1.1-java",
|
|
|
|
"android.hardware.cas-V1.2-java",
|
2017-11-16 00:15:28 -08:00
|
|
|
"android.hardware.contexthub-V1.0-java",
|
2020-02-07 18:45:47 -05:00
|
|
|
"android.hardware.contexthub-V1.1-java",
|
2020-10-14 13:39:09 -07:00
|
|
|
"android.hardware.contexthub-V1.2-java",
|
2019-11-18 16:23:31 -08:00
|
|
|
"android.hardware.gnss-V1.0-java",
|
2020-01-14 15:31:01 -08:00
|
|
|
"android.hardware.gnss-V2.1-java",
|
2017-11-16 00:15:28 -08:00
|
|
|
"android.hardware.health-V1.0-java-constants",
|
2019-01-24 12:03:26 -08:00
|
|
|
"android.hardware.radio-V1.0-java",
|
|
|
|
"android.hardware.radio-V1.1-java",
|
|
|
|
"android.hardware.radio-V1.2-java",
|
|
|
|
"android.hardware.radio-V1.3-java",
|
|
|
|
"android.hardware.radio-V1.4-java",
|
2019-11-05 13:30:10 -08:00
|
|
|
"android.hardware.radio-V1.5-java",
|
2020-09-02 17:10:54 -07:00
|
|
|
"android.hardware.radio-V1.6-java",
|
2017-11-16 00:15:28 -08:00
|
|
|
"android.hardware.thermal-V1.0-java-constants",
|
2019-01-10 14:16:23 -08:00
|
|
|
"android.hardware.thermal-V1.0-java",
|
2018-11-01 11:57:39 -07:00
|
|
|
"android.hardware.thermal-V1.1-java",
|
|
|
|
"android.hardware.thermal-V2.0-java",
|
2017-11-16 00:15:28 -08:00
|
|
|
"android.hardware.tv.input-V1.0-java-constants",
|
2019-10-18 19:36:25 -07:00
|
|
|
"android.hardware.tv.tuner-V1.0-java-constants",
|
2020-07-27 14:50:10 -07:00
|
|
|
"android.hardware.tv.tuner-V1.1-java-constants",
|
2017-11-16 00:15:28 -08:00
|
|
|
"android.hardware.usb-V1.0-java-constants",
|
|
|
|
"android.hardware.usb-V1.1-java-constants",
|
2018-12-09 14:49:38 -08:00
|
|
|
"android.hardware.usb-V1.2-java-constants",
|
2019-01-24 12:03:26 -08:00
|
|
|
"android.hardware.usb.gadget-V1.0-java",
|
2020-09-30 19:04:08 +08:00
|
|
|
"android.hardware.usb.gadget-V1.1-java",
|
|
|
|
"android.hardware.usb.gadget-V1.2-java",
|
2018-02-07 23:23:34 +00:00
|
|
|
"android.hardware.vibrator-V1.0-java",
|
|
|
|
"android.hardware.vibrator-V1.1-java",
|
|
|
|
"android.hardware.vibrator-V1.2-java",
|
2018-12-14 12:06:10 +09:00
|
|
|
"android.hardware.vibrator-V1.3-java",
|
2021-02-23 10:35:27 +00:00
|
|
|
"android.hardware.vibrator-V2-java",
|
2020-11-06 03:28:14 +00:00
|
|
|
"android.system.suspend.control.internal-java",
|
2018-11-22 13:56:50 +00:00
|
|
|
"devicepolicyprotosnano",
|
2019-07-30 18:23:26 +09:00
|
|
|
|
|
|
|
"com.android.sysprop.apex",
|
2020-02-06 23:17:17 +00:00
|
|
|
"com.android.sysprop.init",
|
2020-07-14 19:14:10 +02:00
|
|
|
"com.android.sysprop.localization",
|
2019-07-30 18:23:26 +09:00
|
|
|
"PlatformProperties",
|
2017-11-16 00:15:28 -08:00
|
|
|
],
|
2019-08-19 15:24:49 +09:00
|
|
|
sdk_version: "core_platform",
|
|
|
|
installable: false,
|
|
|
|
}
|
|
|
|
|
2020-10-15 15:00:24 +02:00
|
|
|
java_defaults {
|
|
|
|
name: "framework-minus-apex-defaults",
|
2020-08-19 14:37:54 +01:00
|
|
|
defaults: ["framework-aidl-export-defaults"],
|
|
|
|
srcs: [
|
|
|
|
":framework-non-updatable-sources",
|
|
|
|
"core/java/**/*.logtags",
|
|
|
|
],
|
|
|
|
aidl: {
|
|
|
|
generate_get_transaction_name: true,
|
2021-03-19 10:15:06 +00:00
|
|
|
local_include_dirs: [
|
|
|
|
"media/aidl",
|
|
|
|
// TODO: move to include_dirs when migrated to packages/modules
|
|
|
|
"packages/Connectivity/framework/aidl-export",
|
|
|
|
],
|
2020-10-30 12:34:51 -07:00
|
|
|
include_dirs: ["frameworks/av/aidl"],
|
2020-08-19 14:37:54 +01:00
|
|
|
},
|
|
|
|
dxflags: [
|
|
|
|
"--core-library",
|
|
|
|
"--multi-dex",
|
|
|
|
],
|
2021-04-12 18:24:01 +01:00
|
|
|
jarjar_rules: "framework-jarjar-rules.txt",
|
2018-06-28 14:12:10 +01:00
|
|
|
javac_shard_size: 150,
|
2020-08-19 14:37:54 +01:00
|
|
|
plugins: [
|
|
|
|
"view-inspector-annotation-processor",
|
|
|
|
"staledataclass-annotation-processor",
|
|
|
|
"error_prone_android_framework",
|
|
|
|
],
|
2019-10-21 14:35:14 +09:00
|
|
|
required: [
|
|
|
|
"framework-platform-compat-config",
|
2021-02-24 16:17:08 +01:00
|
|
|
// TODO: remove gps_debug and protolog.conf.json when the build system propagates "required" properly.
|
2020-08-19 14:37:54 +01:00
|
|
|
"gps_debug.conf",
|
2020-10-30 12:14:34 +00:00
|
|
|
"icu4j-platform-compat-config",
|
2020-08-19 14:37:54 +01:00
|
|
|
"protolog.conf.json.gz",
|
2019-10-21 14:35:14 +09:00
|
|
|
"services-platform-compat-config",
|
2020-02-18 10:50:10 +08:00
|
|
|
"documents-ui-compat-config",
|
2020-06-25 11:30:13 -07:00
|
|
|
"calendar-provider-compat-config",
|
2019-10-21 14:35:14 +09:00
|
|
|
],
|
2020-08-19 14:37:54 +01:00
|
|
|
libs: [
|
|
|
|
"app-compat-annotations",
|
|
|
|
"ext",
|
|
|
|
"framework-updatable-stubs-module_libs_api",
|
|
|
|
"unsupportedappusage",
|
|
|
|
],
|
|
|
|
sdk_version: "core_platform",
|
2019-11-22 16:33:18 +00:00
|
|
|
static_libs: [
|
2021-01-25 19:43:53 +00:00
|
|
|
"bouncycastle-repackaged-unbundled",
|
2020-08-19 14:37:54 +01:00
|
|
|
"framework-internal-utils",
|
2019-11-29 19:39:45 +00:00
|
|
|
// If MimeMap ever becomes its own APEX, then this dependency would need to be removed
|
|
|
|
// in favor of an API stubs dependency in java_library "framework" below.
|
2019-11-22 16:33:18 +00:00
|
|
|
"mimemap",
|
2020-10-30 12:34:51 -07:00
|
|
|
"av-types-aidl-java",
|
2020-12-21 16:56:03 -08:00
|
|
|
"tv_tuner_resource_manager_aidl_interface-java",
|
2020-09-16 13:04:31 -07:00
|
|
|
"soundtrigger_middleware-aidl-java",
|
2020-11-02 16:51:24 +08:00
|
|
|
"modules-utils-os",
|
2019-11-22 16:33:18 +00:00
|
|
|
],
|
2020-10-15 15:00:24 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
java_library {
|
|
|
|
name: "framework-minus-apex",
|
|
|
|
defaults: ["framework-minus-apex-defaults"],
|
|
|
|
installable: true,
|
2019-10-21 14:35:14 +09:00
|
|
|
// For backwards compatibility.
|
|
|
|
stem: "framework",
|
2019-12-09 14:45:07 +09:00
|
|
|
apex_available: ["//apex_available:platform"],
|
2020-01-03 21:07:38 +09:00
|
|
|
visibility: [
|
|
|
|
"//frameworks/base",
|
2020-02-04 21:20:02 +09:00
|
|
|
// TODO(b/147128803) remove the below lines
|
2020-01-03 21:07:38 +09:00
|
|
|
"//frameworks/base/apex/appsearch/framework",
|
|
|
|
"//frameworks/base/apex/blobstore/framework",
|
|
|
|
"//frameworks/base/apex/jobscheduler/framework",
|
2020-02-06 19:23:26 +08:00
|
|
|
"//frameworks/base/packages/Tethering/tests/unit",
|
2020-10-29 02:11:55 +00:00
|
|
|
"//packages/modules/Connectivity/Tethering/tests/unit",
|
2020-01-03 21:07:38 +09:00
|
|
|
],
|
2020-10-02 11:52:05 -06:00
|
|
|
errorprone: {
|
|
|
|
javacflags: [
|
2020-10-06 14:55:37 -06:00
|
|
|
"-Xep:AndroidFrameworkBinderIdentity:ERROR",
|
2020-10-02 11:52:05 -06:00
|
|
|
"-Xep:AndroidFrameworkCompatChange:ERROR",
|
2020-10-02 12:00:59 -06:00
|
|
|
"-Xep:AndroidFrameworkUid:ERROR",
|
2020-10-02 11:52:05 -06:00
|
|
|
],
|
|
|
|
},
|
2018-06-28 14:12:10 +01:00
|
|
|
}
|
|
|
|
|
2020-10-15 15:00:24 +02:00
|
|
|
java_library {
|
|
|
|
name: "framework-minus-apex-intdefs",
|
|
|
|
defaults: ["framework-minus-apex-defaults"],
|
|
|
|
plugins: ["intdef-annotation-processor"],
|
|
|
|
}
|
|
|
|
|
2019-10-21 14:35:14 +09:00
|
|
|
// This "framework" module is NOT installed to the device. It's
|
|
|
|
// "framework-minus-apex" that gets installed to the device. Note that
|
|
|
|
// the filename is still framework.jar (via the stem property) for
|
|
|
|
// compatibility reason. The purpose of this module is to provide
|
|
|
|
// framework APIs (both public and private) for bundled apps.
|
|
|
|
// "framework-minus-apex" can't be used for the purpose because 1)
|
|
|
|
// many apps have already hardcoded the name "framework" and
|
|
|
|
// 2) it lacks API symbols from updatable modules - as it's clear from
|
|
|
|
// its suffix "-minus-apex".
|
2019-08-05 12:54:20 -07:00
|
|
|
java_library {
|
|
|
|
name: "framework",
|
|
|
|
defaults: ["framework-aidl-export-defaults"],
|
2019-10-21 14:35:14 +09:00
|
|
|
installable: false, // this lib is a build-only library
|
2019-08-05 12:54:20 -07:00
|
|
|
static_libs: [
|
2020-03-16 15:28:35 -07:00
|
|
|
"app-compat-annotations",
|
2019-08-05 12:54:20 -07:00
|
|
|
"framework-minus-apex",
|
2021-03-19 10:15:06 +00:00
|
|
|
"framework-connectivity.impl", // TODO(b/182859030): should be removed
|
2020-10-08 13:43:48 +01:00
|
|
|
"framework-appsearch.impl", // TODO(b/146218515): should be removed
|
2020-03-07 11:40:10 +00:00
|
|
|
"framework-updatable-stubs-module_libs_api",
|
2019-08-16 18:14:09 +01:00
|
|
|
],
|
2019-08-05 12:54:20 -07:00
|
|
|
sdk_version: "core_platform",
|
2019-12-09 14:45:07 +09:00
|
|
|
apex_available: ["//apex_available:platform"],
|
2019-08-05 12:54:20 -07:00
|
|
|
}
|
|
|
|
|
2019-08-05 12:22:18 +01:00
|
|
|
platform_compat_config {
|
2021-03-02 20:05:57 +00:00
|
|
|
name: "framework-platform-compat-config",
|
|
|
|
src: ":framework-minus-apex",
|
2018-06-28 14:12:10 +01:00
|
|
|
}
|
|
|
|
|
2019-01-25 08:54:08 +09:00
|
|
|
filegroup {
|
2019-01-30 21:04:58 +09:00
|
|
|
name: "framework-annotations",
|
2019-01-25 08:54:08 +09:00
|
|
|
srcs: [
|
Move role into module.
These changes have to be in this CL together because:
- Code in service-permission depends on IRoleManager in
framework-permission, so the APIs in framework-permission and the code
in service-permission need to be moved together.
- The changes to service-permission build rules doesn't make sense
without the code moved in, so they have to be together as well.
Other details:
- framework-annotations: Several annotations are added into
framework-annoatations. Since the discussion with API council seems to
allow user IDs in system server in-process APIs, @UserIdInt and
@AppIdInt is added. @MainThread and @AnyThread is added since
@WorkerThread is already added. @CallSuper is added since @CheckResult
is also already added and they are similar in terms of category of
functionality.
- framework-permission-s-shared-srcs: 3 classes (and 2 AIDL files)
from framework is copied as shared source files and jarjared for
framework-permission, and an additional 3 is added for
service-permission as service-permission-shared-srcs. Similar to
framework-wifi and service-wifi, the 3 classes in framework-permission
is also available to service-permission by the stub library
framework-permission-pre-jarjar, and the other 3 classes used only for
service-permission is included separately to minimize our impact on
classes loaded into boot classpath. framework-permission and
service-permission shares the same jarjar rules to make sure the
classes remain available, and for the same reason framework-permission
cannot be shrank during any optimization.
- framework-permission-s-shared: A java_library target for
framework-permission-shared-srcs is created to make sure that the
public classes won't be counted as APIs, as it would be if directly
included as srcs for framework-permission
java_sdk_library. service-permission-shared is the same thing for
service-permission.
- framework-permission-s: A new java_sdk_library target created to be
loaded into bootclasspath by Android S+.
- Dumpsys Protobuf: The dumpsys protobuf
file (rolemanagerservice.proto) is moved into the module, and both the
platform (incident.proto) and the module uses protoc-gen-javastream to
generate the Java classes from it. This should be fine since it's a
"source level inclusion", and we jarjar the generated classes in our
module to avoid conflict with platform copies.
Bug: 158736025
Test: manual
Test: device boots, default apps can be changed successfully.
Change-Id: I1914774f631e51d0c587a7e527a1c9bc05ee1595
2021-01-21 15:45:56 -08:00
|
|
|
"core/java/android/annotation/AnyThread.java",
|
|
|
|
"core/java/android/annotation/AppIdInt.java",
|
2021-03-30 13:39:22 +01:00
|
|
|
"core/java/android/annotation/BytesLong.java",
|
2020-01-09 18:09:56 -08:00
|
|
|
"core/java/android/annotation/CallbackExecutor.java",
|
2021-03-30 13:39:22 +01:00
|
|
|
"core/java/android/annotation/CallSuper.java",
|
2020-01-09 14:02:21 -08:00
|
|
|
"core/java/android/annotation/CheckResult.java",
|
2020-02-18 18:10:07 -08:00
|
|
|
"core/java/android/annotation/CurrentTimeMillisLong.java",
|
2021-03-30 13:39:22 +01:00
|
|
|
"core/java/android/annotation/CurrentTimeSecondsLong.java",
|
|
|
|
"core/java/android/annotation/DrawableRes.java",
|
|
|
|
"core/java/android/annotation/DurationMillisLong.java",
|
2020-02-21 07:37:30 -08:00
|
|
|
"core/java/android/annotation/Hide.java",
|
2019-01-25 08:54:08 +09:00
|
|
|
"core/java/android/annotation/IntDef.java",
|
2019-01-20 13:48:19 +09:00
|
|
|
"core/java/android/annotation/IntRange.java",
|
2020-02-20 17:30:58 +08:00
|
|
|
"core/java/android/annotation/LongDef.java",
|
Move role into module.
These changes have to be in this CL together because:
- Code in service-permission depends on IRoleManager in
framework-permission, so the APIs in framework-permission and the code
in service-permission need to be moved together.
- The changes to service-permission build rules doesn't make sense
without the code moved in, so they have to be together as well.
Other details:
- framework-annotations: Several annotations are added into
framework-annoatations. Since the discussion with API council seems to
allow user IDs in system server in-process APIs, @UserIdInt and
@AppIdInt is added. @MainThread and @AnyThread is added since
@WorkerThread is already added. @CallSuper is added since @CheckResult
is also already added and they are similar in terms of category of
functionality.
- framework-permission-s-shared-srcs: 3 classes (and 2 AIDL files)
from framework is copied as shared source files and jarjared for
framework-permission, and an additional 3 is added for
service-permission as service-permission-shared-srcs. Similar to
framework-wifi and service-wifi, the 3 classes in framework-permission
is also available to service-permission by the stub library
framework-permission-pre-jarjar, and the other 3 classes used only for
service-permission is included separately to minimize our impact on
classes loaded into boot classpath. framework-permission and
service-permission shares the same jarjar rules to make sure the
classes remain available, and for the same reason framework-permission
cannot be shrank during any optimization.
- framework-permission-s-shared: A java_library target for
framework-permission-shared-srcs is created to make sure that the
public classes won't be counted as APIs, as it would be if directly
included as srcs for framework-permission
java_sdk_library. service-permission-shared is the same thing for
service-permission.
- framework-permission-s: A new java_sdk_library target created to be
loaded into bootclasspath by Android S+.
- Dumpsys Protobuf: The dumpsys protobuf
file (rolemanagerservice.proto) is moved into the module, and both the
platform (incident.proto) and the module uses protoc-gen-javastream to
generate the Java classes from it. This should be fine since it's a
"source level inclusion", and we jarjar the generated classes in our
module to avoid conflict with platform copies.
Bug: 158736025
Test: manual
Test: device boots, default apps can be changed successfully.
Change-Id: I1914774f631e51d0c587a7e527a1c9bc05ee1595
2021-01-21 15:45:56 -08:00
|
|
|
"core/java/android/annotation/MainThread.java",
|
2019-12-18 14:06:48 -07:00
|
|
|
"core/java/android/annotation/NonNull.java",
|
|
|
|
"core/java/android/annotation/Nullable.java",
|
|
|
|
"core/java/android/annotation/RequiresPermission.java",
|
|
|
|
"core/java/android/annotation/SdkConstant.java",
|
2020-01-09 18:09:56 -08:00
|
|
|
"core/java/android/annotation/StringDef.java",
|
2019-12-06 17:07:28 +00:00
|
|
|
"core/java/android/annotation/SystemApi.java",
|
2020-01-09 18:09:56 -08:00
|
|
|
"core/java/android/annotation/SystemService.java",
|
2019-12-18 14:06:48 -07:00
|
|
|
"core/java/android/annotation/TestApi.java",
|
Move role into module.
These changes have to be in this CL together because:
- Code in service-permission depends on IRoleManager in
framework-permission, so the APIs in framework-permission and the code
in service-permission need to be moved together.
- The changes to service-permission build rules doesn't make sense
without the code moved in, so they have to be together as well.
Other details:
- framework-annotations: Several annotations are added into
framework-annoatations. Since the discussion with API council seems to
allow user IDs in system server in-process APIs, @UserIdInt and
@AppIdInt is added. @MainThread and @AnyThread is added since
@WorkerThread is already added. @CallSuper is added since @CheckResult
is also already added and they are similar in terms of category of
functionality.
- framework-permission-s-shared-srcs: 3 classes (and 2 AIDL files)
from framework is copied as shared source files and jarjared for
framework-permission, and an additional 3 is added for
service-permission as service-permission-shared-srcs. Similar to
framework-wifi and service-wifi, the 3 classes in framework-permission
is also available to service-permission by the stub library
framework-permission-pre-jarjar, and the other 3 classes used only for
service-permission is included separately to minimize our impact on
classes loaded into boot classpath. framework-permission and
service-permission shares the same jarjar rules to make sure the
classes remain available, and for the same reason framework-permission
cannot be shrank during any optimization.
- framework-permission-s-shared: A java_library target for
framework-permission-shared-srcs is created to make sure that the
public classes won't be counted as APIs, as it would be if directly
included as srcs for framework-permission
java_sdk_library. service-permission-shared is the same thing for
service-permission.
- framework-permission-s: A new java_sdk_library target created to be
loaded into bootclasspath by Android S+.
- Dumpsys Protobuf: The dumpsys protobuf
file (rolemanagerservice.proto) is moved into the module, and both the
platform (incident.proto) and the module uses protoc-gen-javastream to
generate the Java classes from it. This should be fine since it's a
"source level inclusion", and we jarjar the generated classes in our
module to avoid conflict with platform copies.
Bug: 158736025
Test: manual
Test: device boots, default apps can be changed successfully.
Change-Id: I1914774f631e51d0c587a7e527a1c9bc05ee1595
2021-01-21 15:45:56 -08:00
|
|
|
"core/java/android/annotation/UserIdInt.java",
|
2020-03-06 14:41:56 -07:00
|
|
|
"core/java/android/annotation/WorkerThread.java",
|
2019-01-29 15:38:52 +09:00
|
|
|
"core/java/com/android/internal/annotations/GuardedBy.java",
|
2020-01-09 14:02:21 -08:00
|
|
|
"core/java/com/android/internal/annotations/Immutable.java",
|
2021-03-30 13:39:22 +01:00
|
|
|
"core/java/com/android/internal/annotations/VisibleForTesting.java",
|
2019-05-23 16:20:12 +01:00
|
|
|
],
|
2019-01-30 21:04:58 +09:00
|
|
|
}
|
|
|
|
|
2019-11-08 15:18:04 +00:00
|
|
|
java_library {
|
|
|
|
name: "framework-annotations-lib",
|
2021-03-02 20:05:57 +00:00
|
|
|
srcs: [":framework-annotations"],
|
2019-12-19 10:17:46 +00:00
|
|
|
sdk_version: "core_current",
|
2019-11-08 15:18:04 +00:00
|
|
|
}
|
|
|
|
|
2019-12-30 16:05:38 -08:00
|
|
|
filegroup {
|
|
|
|
name: "framework-ike-shared-srcs",
|
2020-05-27 19:22:36 +00:00
|
|
|
visibility: ["//packages/modules/IPsec"],
|
2019-12-30 16:05:38 -08:00
|
|
|
srcs: [
|
|
|
|
"core/java/android/net/annotations/PolicyDirection.java",
|
2020-03-03 17:14:47 -08:00
|
|
|
"core/java/com/android/internal/util/HexDump.java",
|
2019-12-20 17:55:57 -08:00
|
|
|
"core/java/com/android/internal/util/IState.java",
|
|
|
|
"core/java/com/android/internal/util/State.java",
|
|
|
|
"core/java/com/android/internal/util/StateMachine.java",
|
2020-11-09 00:09:39 -08:00
|
|
|
"services/core/java/com/android/server/vcn/util/PersistableBundleUtils.java",
|
2019-12-30 11:19:47 -08:00
|
|
|
"telephony/java/android/telephony/Annotation.java",
|
2019-12-30 16:05:38 -08:00
|
|
|
],
|
|
|
|
}
|
|
|
|
|
2019-01-30 21:04:58 +09:00
|
|
|
filegroup {
|
|
|
|
name: "framework-networkstack-shared-srcs",
|
|
|
|
srcs: [
|
|
|
|
// TODO: remove these annotations as soon as we can use andoid.support.annotations.*
|
|
|
|
":framework-annotations",
|
|
|
|
"core/java/android/net/DhcpResults.java",
|
2020-05-15 13:49:20 -07:00
|
|
|
"core/java/android/util/IndentingPrintWriter.java",
|
2019-01-30 21:04:58 +09:00
|
|
|
"core/java/android/util/LocalLog.java",
|
2019-01-25 08:54:08 +09:00
|
|
|
"core/java/com/android/internal/util/HexDump.java",
|
2019-01-20 13:48:19 +09:00
|
|
|
"core/java/com/android/internal/util/IndentingPrintWriter.java",
|
2019-01-25 08:54:08 +09:00
|
|
|
"core/java/com/android/internal/util/IState.java",
|
|
|
|
"core/java/com/android/internal/util/MessageUtils.java",
|
|
|
|
"core/java/com/android/internal/util/Preconditions.java",
|
2019-01-20 13:48:19 +09:00
|
|
|
"core/java/com/android/internal/util/RingBufferIndices.java",
|
2019-01-25 08:54:08 +09:00
|
|
|
"core/java/com/android/internal/util/State.java",
|
|
|
|
"core/java/com/android/internal/util/StateMachine.java",
|
|
|
|
"core/java/com/android/internal/util/WakeupMessage.java",
|
2019-12-19 20:30:34 +08:00
|
|
|
"core/java/com/android/internal/util/TokenBucket.java",
|
2019-05-23 16:20:12 +01:00
|
|
|
],
|
2019-01-25 08:54:08 +09:00
|
|
|
}
|
|
|
|
|
2017-10-02 17:14:22 -07:00
|
|
|
// Build ext.jar
|
|
|
|
// ============================================================
|
|
|
|
java_library {
|
|
|
|
name: "ext",
|
2018-06-27 11:00:11 -07:00
|
|
|
installable: true,
|
2019-06-12 13:47:18 +01:00
|
|
|
sdk_version: "core_platform",
|
2017-10-02 17:14:22 -07:00
|
|
|
static_libs: [
|
|
|
|
"libphonenumber-platform",
|
|
|
|
"tagsoup",
|
2017-10-31 14:31:01 +00:00
|
|
|
"rappor",
|
2017-10-02 17:14:22 -07:00
|
|
|
],
|
|
|
|
dxflags: ["--core-library"],
|
|
|
|
}
|
|
|
|
|
2020-01-09 14:02:21 -08:00
|
|
|
// utility classes statically linked into framework-wifi and dynamically linked
|
|
|
|
// into wifi-service
|
|
|
|
java_library {
|
|
|
|
name: "framework-wifi-util-lib",
|
2020-11-09 14:31:45 -08:00
|
|
|
sdk_version: "module_current",
|
|
|
|
min_sdk_version: "30",
|
2020-01-09 14:02:21 -08:00
|
|
|
srcs: [
|
2020-01-09 18:09:56 -08:00
|
|
|
"core/java/android/os/HandlerExecutor.java",
|
2020-01-09 14:02:21 -08:00
|
|
|
"core/java/com/android/internal/util/AsyncChannel.java",
|
|
|
|
"core/java/com/android/internal/util/AsyncService.java",
|
|
|
|
"core/java/com/android/internal/util/Protocol.java",
|
|
|
|
"core/java/com/android/internal/util/Preconditions.java",
|
2020-01-09 18:09:56 -08:00
|
|
|
"telephony/java/android/telephony/Annotation.java",
|
2020-01-17 19:02:49 +00:00
|
|
|
":net-utils-framework-wifi-common-srcs",
|
2020-01-09 14:02:21 -08:00
|
|
|
],
|
|
|
|
libs: [
|
|
|
|
"framework-annotations-lib",
|
2021-03-24 22:59:50 +09:00
|
|
|
"framework-connectivity.stubs.module_lib",
|
2020-01-09 14:02:21 -08:00
|
|
|
"unsupportedappusage",
|
|
|
|
],
|
2020-04-21 19:49:32 -07:00
|
|
|
visibility: [
|
|
|
|
"//frameworks/base/wifi",
|
|
|
|
"//frameworks/base/services/net",
|
2020-12-23 22:42:10 +00:00
|
|
|
"//packages/modules/Wifi/framework",
|
2020-04-21 19:49:32 -07:00
|
|
|
],
|
2020-01-09 14:02:21 -08:00
|
|
|
}
|
|
|
|
|
2019-12-20 14:35:43 +09:00
|
|
|
// TODO(b/145644363): move this to under StubLibraries.bp or ApiDocs.bp
|
|
|
|
metalava_framework_docs_args = "--manifest $(location core/res/AndroidManifest.xml) " +
|
|
|
|
"--hide-package com.android.server " +
|
2020-11-05 16:28:21 -08:00
|
|
|
"--hide-package android.audio.policy.configuration.V7_0 " +
|
2019-12-20 14:35:43 +09:00
|
|
|
"--error UnhiddenSystemApi " +
|
|
|
|
"--hide RequiresPermission " +
|
|
|
|
"--hide CallbackInterface " +
|
|
|
|
"--hide MissingPermission --hide BroadcastBehavior " +
|
|
|
|
"--hide HiddenSuperclass --hide DeprecationMismatch --hide UnavailableSymbol " +
|
|
|
|
"--hide SdkConstant --hide HiddenTypeParameter --hide Todo --hide Typo " +
|
2020-05-26 10:55:53 -07:00
|
|
|
"--error NoSettingsProvider " +
|
2019-11-20 17:51:42 -08:00
|
|
|
"--force-convert-to-warning-nullability-annotations +*:-android.*:+android.icu.*:-dalvik.* " +
|
|
|
|
"--api-lint-ignore-prefix android.icu. " +
|
|
|
|
"--api-lint-ignore-prefix java. " +
|
|
|
|
"--api-lint-ignore-prefix junit. " +
|
|
|
|
"--api-lint-ignore-prefix org. "
|
2019-12-20 14:35:43 +09:00
|
|
|
|
2021-03-30 10:11:22 +01:00
|
|
|
filegroup {
|
|
|
|
name: "framework-non-updatable-stub-sources",
|
|
|
|
srcs: [
|
2021-03-30 10:31:15 +01:00
|
|
|
":framework-mime-sources", // mimemap builds separately but has no separate droidstubs.
|
2021-03-30 10:11:22 +01:00
|
|
|
":framework-non-updatable-sources",
|
|
|
|
":opt-telephony-srcs",
|
|
|
|
":opt-net-voip-srcs",
|
|
|
|
"core/java/**/*.logtags",
|
|
|
|
"**/package.html",
|
|
|
|
],
|
|
|
|
visibility: ["//visibility:private"],
|
|
|
|
}
|
|
|
|
|
2019-12-20 14:35:43 +09:00
|
|
|
build = [
|
|
|
|
"StubLibraries.bp",
|
|
|
|
"ApiDocs.bp",
|
2021-04-12 18:03:12 +01:00
|
|
|
"ProtoLibraries.bp",
|
2019-12-20 14:35:43 +09:00
|
|
|
]
|