diff options
Diffstat (limited to 'Android.bp')
| -rw-r--r-- | Android.bp | 375 |
1 files changed, 291 insertions, 84 deletions
diff --git a/Android.bp b/Android.bp index 14a2bff8ad13..afdd832718bb 100644 --- a/Android.bp +++ b/Android.bp @@ -35,22 +35,96 @@ filegroup { } // These are subset of framework-core-sources that are needed by the -// android.test.mock library. Ideally, the library should use public APIs only, -// but unfortunately its API signature has some references to these private APIs. +// android.test.mock library. The implementation of android.test.mock references +// private members of various components to allow mocking of classes that cannot +// be mocked without access to those internal implementation details. filegroup { name: "framework-core-sources-for-test-mock", srcs: [ + "core/java/android/accounts/AccountManagerCallback.java", + "core/java/android/accounts/AccountManagerFuture.java", + "core/java/android/accounts/AccountManager.java", + "core/java/android/accounts/AccountsException.java", + "core/java/android/accounts/AuthenticatorException.java", + "core/java/android/accounts/OperationCanceledException.java", + "core/java/android/annotation/AnimatorRes.java", + "core/java/android/annotation/AnimRes.java", + "core/java/android/annotation/AnyRes.java", + "core/java/android/annotation/ArrayRes.java", + "core/java/android/annotation/AttrRes.java", + "core/java/android/annotation/BoolRes.java", + "core/java/android/annotation/BroadcastBehavior.java", + "core/java/android/annotation/CallbackExecutor.java", + "core/java/android/annotation/CallSuper.java", + "core/java/android/annotation/CheckResult.java", + "core/java/android/annotation/ColorInt.java", + "core/java/android/annotation/ColorRes.java", + "core/java/android/annotation/DimenRes.java", + "core/java/android/annotation/DrawableRes.java", + "core/java/android/annotation/FontRes.java", + "core/java/android/annotation/FractionRes.java", + "core/java/android/annotation/IntDef.java", + "core/java/android/annotation/IntegerRes.java", + "core/java/android/annotation/IntRange.java", + "core/java/android/annotation/LayoutRes.java", + "core/java/android/annotation/NonNull.java", + "core/java/android/annotation/Nullable.java", + "core/java/android/annotation/PluralsRes.java", + "core/java/android/annotation/RawRes.java", + "core/java/android/annotation/RequiresPermission.java", + "core/java/android/annotation/SdkConstant.java", + "core/java/android/annotation/Size.java", + "core/java/android/annotation/StringDef.java", + "core/java/android/annotation/StringRes.java", + "core/java/android/annotation/StyleableRes.java", + "core/java/android/annotation/StyleRes.java", + "core/java/android/annotation/SuppressLint.java", + "core/java/android/annotation/SystemApi.java", + "core/java/android/annotation/SystemService.java", + "core/java/android/annotation/TestApi.java", + "core/java/android/annotation/UserIdInt.java", + "core/java/android/annotation/XmlRes.java", + "core/java/android/app/Application.java", "core/java/android/app/IApplicationThread.aidl", "core/java/android/app/IServiceConnection.aidl", + "core/java/android/app/PackageDeleteObserver.java", + "core/java/android/content/ComponentCallbacks2.java", + "core/java/android/content/ComponentCallbacks.java", + "core/java/android/content/ContentInterface.java", + "core/java/android/content/ContentProvider.java", + "core/java/android/content/ContentProviderNative.java", + "core/java/android/content/ContentResolver.java", + "core/java/android/content/Context.java", + "core/java/android/content/ContextWrapper.java", + "core/java/android/content/DialogInterface.java", "core/java/android/content/IContentProvider.java", - "core/java/android/content/pm/IPackageDataObserver.aidl", + "core/java/android/content/Intent.java", + "core/java/android/content/IntentSender.java", + "core/java/android/content/OperationApplicationException.java", + "core/java/android/content/pm/ActivityInfo.java", + "core/java/android/content/pm/ApplicationInfo.java", "core/java/android/content/pm/InstantAppInfo.java", + "core/java/android/content/pm/IPackageDataObserver.aidl", "core/java/android/content/pm/KeySet.java", "core/java/android/content/pm/PackageManager.java", "core/java/android/content/pm/VerifierDeviceIdentity.java", "core/java/android/content/res/Resources.java", + "core/java/android/database/CrossProcessCursor.java", + "core/java/android/database/CrossProcessCursorWrapper.java", + "core/java/android/database/Cursor.java", + "core/java/android/database/CursorWrapper.java", + "core/java/android/os/Binder.java", + "core/java/android/os/Bundle.java", + "core/java/android/os/IBinder.java", + "core/java/android/os/IInterface.java", + "core/java/android/os/Parcelable.java", + "core/java/android/os/ParcelFileDescriptor.java", + "core/java/android/os/RemoteException.java", "core/java/android/os/storage/VolumeInfo.java", + "core/java/android/util/AndroidException.java", "core/java/android/view/DisplayAdjustments.java", + "core/java/android/view/ViewDebug.java", + "core/java/com/android/internal/annotations/VisibleForTesting.java", ], path: "core/java", visibility: ["//frameworks/base/test-mock"], @@ -65,7 +139,7 @@ filegroup { } filegroup { - name: "framework-graphics-sources", + name: "framework-graphics-nonupdatable-sources", srcs: [ "graphics/java/**/*.java", "graphics/java/**/*.aidl", @@ -223,7 +297,7 @@ filegroup { ":framework-blobstore-sources", ":framework-core-sources", ":framework-drm-sources", - ":framework-graphics-sources", + ":framework-graphics-nonupdatable-sources", ":framework-jobscheduler-sources", // jobscheduler is not a module for R ":framework-keystore-sources", ":framework-identity-sources", @@ -256,6 +330,7 @@ filegroup { ":gatekeeper_aidl", ":gsiservice_aidl", ":incidentcompanion_aidl", + ":inputconstants_aidl", ":installd_aidl", ":keystore_aidl", ":libaudioclient_aidl", @@ -274,12 +349,17 @@ filegroup { // etc. ":framework-javastream-protos", ":statslog-framework-java-gen", // FrameworkStatsLog.java + + // telephony annotations + ":framework-telephony-annotations", ], } filegroup { name: "framework-updatable-sources", srcs: [ + ":framework-appsearch-sources", + ":framework-graphics-srcs", ":framework-mediaprovider-sources", ":framework-permission-sources", ":framework-sdkextensions-sources", @@ -287,12 +367,15 @@ filegroup { ":framework-tethering-srcs", ":framework-wifi-updatable-sources", ":updatable-media-srcs", - ] + ], + visibility: ["//visibility:private"], } java_library { name: "framework-updatable-stubs-module_libs_api", static_libs: [ + "framework-appsearch.stubs.module_lib", + "framework-graphics.stubs.module_lib", "framework-media.stubs.module_lib", "framework-mediaprovider.stubs.module_lib", "framework-permission.stubs.module_lib", @@ -302,7 +385,31 @@ java_library { "framework-wifi.stubs.module_lib", ], sdk_version: "module_current", - visibility: [":__pkg__"], + visibility: ["//visibility:private"], +} + +java_library { + name: "framework-all", + installable: false, + static_libs: [ + "framework-minus-apex", + "framework-appsearch.impl", + "framework-graphics.impl", + "framework-mediaprovider.impl", + "framework-permission.impl", + "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__", + ], } filegroup { @@ -352,7 +459,7 @@ java_library { "apex_aidl_interface-java", "suspend_control_aidl_interface-java", "framework-protos", - "game-driver-protos", + "updatable-driver-protos", "android.hidl.base-V1.0-java", "android.hardware.cas-V1.0-java", "android.hardware.cas-V1.1-java", @@ -368,6 +475,7 @@ java_library { "android.hardware.radio-V1.3-java", "android.hardware.radio-V1.4-java", "android.hardware.radio-V1.5-java", + "android.hardware.radio-V1.6-java", "android.hardware.thermal-V1.0-java-constants", "android.hardware.thermal-V1.0-java", "android.hardware.thermal-V1.1-java", @@ -386,58 +494,13 @@ java_library { "com.android.sysprop.apex", "com.android.sysprop.init", + "com.android.sysprop.localization", "PlatformProperties", ], sdk_version: "core_platform", installable: false, } -java_defaults { - name: "framework-defaults", - defaults: ["framework-aidl-export-defaults"], - installable: true, - - aidl: { - generate_get_transaction_name: true, - }, - - srcs: ["core/java/**/*.logtags"], - - exclude_srcs: [ - // See comment on framework-atb-backward-compatibility module below - "core/java/android/content/pm/AndroidTestBaseUpdater.java", - ], - - sdk_version: "core_platform", - libs: [ - "app-compat-annotations", - "ext", - "unsupportedappusage", - ], - - jarjar_rules: ":framework-jarjar-rules", - - static_libs: [ - "framework-internal-utils", - ], - - dxflags: [ - "--core-library", - "--multi-dex", - ], - - plugins: [ - "view-inspector-annotation-processor", - "staledataclass-annotation-processor", - ], - - required: [ - // TODO: remove gps_debug and protolog.conf.json when the build system propagates "required" properly. - "gps_debug.conf", - "protolog.conf.json.gz", - ], -} - filegroup { name: "framework-jarjar-rules", srcs: ["framework-jarjar-rules.txt"], @@ -470,27 +533,60 @@ filegroup { "core/java/android/os/IThermalEventListener.aidl", "core/java/android/os/IThermalStatusListener.aidl", "core/java/android/os/IThermalService.aidl", + "core/java/android/os/IPowerManager.aidl", ], path: "core/java", } java_library { name: "framework-minus-apex", - defaults: ["framework-defaults"], - srcs: [":framework-non-updatable-sources"], + defaults: ["framework-aidl-export-defaults"], + srcs: [ + ":framework-non-updatable-sources", + "core/java/**/*.logtags", + ], + // See comment on framework-atb-backward-compatibility module below + exclude_srcs: ["core/java/android/content/pm/AndroidTestBaseUpdater.java"], + aidl: { + generate_get_transaction_name: true, + local_include_dirs: ["media/aidl"], + }, + dxflags: [ + "--core-library", + "--multi-dex", + ], installable: true, + jarjar_rules: ":framework-jarjar-rules", javac_shard_size: 150, + plugins: [ + "view-inspector-annotation-processor", + "staledataclass-annotation-processor", + "error_prone_android_framework", + ], required: [ "framework-platform-compat-config", + // TODO: remove gps_debug and protolog.conf.json when the build system propagates "required" properly. + "gps_debug.conf", "libcore-platform-compat-config", + "protolog.conf.json.gz", "services-platform-compat-config", "documents-ui-compat-config", + "calendar-provider-compat-config", + ], + libs: [ + "app-compat-annotations", + "ext", + "framework-updatable-stubs-module_libs_api", + "unsupportedappusage", ], - libs: ["framework-updatable-stubs-module_libs_api"], + sdk_version: "core_platform", static_libs: [ + "framework-internal-utils", // 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. "mimemap", + "mediatranscoding_aidl_interface-java", + "soundtrigger_middleware-aidl-java", ], // For backwards compatibility. stem: "framework", @@ -498,10 +594,18 @@ java_library { visibility: [ "//frameworks/base", // TODO(b/147128803) remove the below lines + "//frameworks/base/apex/appsearch/framework", "//frameworks/base/apex/blobstore/framework", "//frameworks/base/apex/jobscheduler/framework", "//frameworks/base/packages/Tethering/tests/unit", ], + errorprone: { + javacflags: [ + "-Xep:AndroidFrameworkBinderIdentity:ERROR", + "-Xep:AndroidFrameworkCompatChange:ERROR", + "-Xep:AndroidFrameworkUid:ERROR", + ], + }, } // This "framework" module is NOT installed to the device. It's @@ -520,35 +624,16 @@ java_library { static_libs: [ "app-compat-annotations", "framework-minus-apex", + "framework-appsearch.impl", // TODO(b/146218515): should be removed "framework-updatable-stubs-module_libs_api", ], sdk_version: "core_platform", apex_available: ["//apex_available:platform"], } -java_library { - name: "framework-all", - defaults: ["framework-defaults"], - srcs: [":framework-all-sources"], - installable: false, - static_libs: [ - "exoplayer2-extractor", - "android.hardware.wifi-V1.0-java-constants", - // Additional dependencies needed to build the ike API classes. - "ike-internals", - ], - apex_available: ["//apex_available:platform"], - visibility: [ - // DO NOT ADD ANY MORE ENTRIES TO THIS LIST - "//external/robolectric-shadows:__subpackages__", - "//frameworks/base", - "//frameworks/layoutlib:__subpackages__", - ], -} - platform_compat_config { - name: "framework-platform-compat-config", - src: ":framework-minus-apex", + name: "framework-platform-compat-config", + src: ":framework-minus-apex", } // A temporary build target that is conditionally included on the bootclasspath if @@ -691,6 +776,7 @@ filegroup { // TODO: remove these annotations as soon as we can use andoid.support.annotations.* ":framework-annotations", "core/java/android/net/DhcpResults.java", + "core/java/android/util/IndentingPrintWriter.java", "core/java/android/util/LocalLog.java", "core/java/com/android/internal/util/HexDump.java", "core/java/com/android/internal/util/IndentingPrintWriter.java", @@ -710,7 +796,6 @@ filegroup { name: "framework-services-net-module-wifi-shared-srcs", srcs: [ "core/java/android/net/DhcpResults.java", - "core/java/android/net/util/IpUtils.java", "core/java/android/util/LocalLog.java", ], } @@ -719,6 +804,7 @@ filegroup { filegroup { name: "framework-tethering-shared-srcs", srcs: [ + "core/java/android/util/IndentingPrintWriter.java", "core/java/android/util/LocalLog.java", "core/java/com/android/internal/util/IndentingPrintWriter.java", "core/java/com/android/internal/util/IState.java", @@ -729,6 +815,27 @@ filegroup { ], } +// keep these files in sync with the apex/jobscheduler/service jarjar-rules.txt for +// the jobscheduler module. +filegroup { + name: "framework-jobscheduler-shared-srcs", + srcs: [ + "core/java/com/android/internal/util/ArrayUtils.java", + "core/java/com/android/internal/util/BitUtils.java", + "core/java/com/android/internal/util/CollectionUtils.java", + "core/java/com/android/internal/util/ConcurrentUtils.java", + "core/java/com/android/internal/util/DumpUtils.java", + "core/java/com/android/internal/util/FastPrintWriter.java", + "core/java/com/android/internal/util/FastXmlSerializer.java", + "core/java/com/android/internal/util/FunctionalUtils.java", + "core/java/com/android/internal/util/ParseUtils.java", + "core/java/com/android/internal/util/Preconditions.java", + "core/java/com/android/internal/util/RingBufferIndices.java", + "core/java/com/android/internal/util/StatLogger.java", + "core/java/com/android/internal/util/XmlUtils.java", + ], +} + // Build ext.jar // ============================================================ java_library { @@ -773,6 +880,7 @@ java_library { exclude_srcs: [ "core/proto/android/privacy.proto", "core/proto/android/section.proto", + "core/proto/android/typedef.proto", ], sdk_version: "9", srcs: [ @@ -798,6 +906,7 @@ java_library { exclude_srcs: [ "core/proto/android/privacy.proto", "core/proto/android/section.proto", + "core/proto/android/typedef.proto", ], sdk_version: "core_current", // Protos have lots of MissingOverride and similar. @@ -929,6 +1038,7 @@ filegroup { name: "incremental_manager_aidl", srcs: [ "core/java/android/os/incremental/IIncrementalService.aidl", + "core/java/android/os/incremental/IStorageLoadingProgressListener.aidl", "core/java/android/os/incremental/IncrementalNewFileParams.aidl", "core/java/android/os/incremental/IStorageHealthListener.aidl", "core/java/android/os/incremental/StorageHealthCheckParams.aidl", @@ -1036,13 +1146,13 @@ python_defaults { name: "base_default", version: { py2: { - enabled: true, - embedded_launcher: true, - }, - py3: { enabled: false, embedded_launcher: false, }, + py3: { + enabled: true, + embedded_launcher: true, + }, }, } @@ -1097,6 +1207,7 @@ filegroup { "core/java/android/os/BasicShellCommandHandler.java", "core/java/android/os/RegistrantList.java", "core/java/android/os/Registrant.java", + "core/java/android/util/IndentingPrintWriter.java", "core/java/android/util/LocalLog.java", "core/java/android/util/TimeUtils.java", "core/java/com/android/internal/os/SomeArgs.java", @@ -1119,6 +1230,7 @@ filegroup { filegroup { name: "framework-telephony-shared-srcs", srcs: [ + "core/java/android/util/IndentingPrintWriter.java", "core/java/android/util/RecurrenceRule.java", "core/java/com/android/internal/os/SomeArgs.java", "core/java/com/android/internal/util/BitwiseInputStream.java", @@ -1215,6 +1327,7 @@ metalava_framework_docs_args = "--manifest $(location core/res/AndroidManifest.x "--hide MissingPermission --hide BroadcastBehavior " + "--hide HiddenSuperclass --hide DeprecationMismatch --hide UnavailableSymbol " + "--hide SdkConstant --hide HiddenTypeParameter --hide Todo --hide Typo " + + "--error NoSettingsProvider " + "--force-convert-to-warning-nullability-annotations +*:-android.*:+android.icu.*:-dalvik.* " + "--api-lint-ignore-prefix android.icu. " + "--api-lint-ignore-prefix java. " + @@ -1225,3 +1338,97 @@ build = [ "StubLibraries.bp", "ApiDocs.bp", ] + +// TODO(b/147699819): move to frameworks/base/telephony/ folder +droidstubs { + name: "framework-telephony-stubs-srcs", + srcs: [ + ":framework-telephony-sources", + ":framework_native_aidl", + ":framework-javastream-protos", + ], + aidl: { + local_include_dirs: [ + "core/java", + "telecomm/java" + ], + }, + libs: [ + "framework-annotations-lib", + "android.hardware.radio-V1.6-java", + ], + check_api: { + current: { + // TODO(b/147699819): remove telephony prefix when moved + api_file: "telephony/api/system-current.txt", + removed_api_file: "telephony/api/system-removed.txt", + }, + }, + // TODO: make telephony inherit the shared stubs and remove this + args: "--show-annotation android.annotation.SystemApi\\(" + + "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" + + "\\) " + + "--error UnhiddenSystemApi " + + "--hide BroadcastBehavior " + + "--hide DeprecationMismatch " + + "--hide HiddenSuperclass " + + "--hide HiddenTypedefConstant " + + "--hide HiddenTypeParameter " + + "--hide MissingPermission " + + "--hide RequiresPermission " + + "--hide SdkConstant " + + "--hide Todo " + + "--hide Typo " + + "--hide UnavailableSymbol ", + filter_packages: ["android.telephony"], + sdk_version: "system_current", +} + +java_library { + name: "framework-telephony-stubs", + srcs: [":framework-telephony-stubs-srcs"], + // TODO(b/147699819): move public aidls to a separate folder and potentially remove + // below aidl exports. + aidl: { + export_include_dirs: ["telephony/java"], + }, + sdk_version: "module_current", +} + +filegroup { + // TODO (b/147690217): move to frameworks/base/telephony/common. + name: "framework-telephony-annotations", + srcs: ["telephony/java/android/telephony/Annotation.java"], +} + +filegroup { + name: "framework-telephony-jarjar-rules", + srcs: ["telephony/framework-telephony-jarjar-rules.txt"], +} + +// protolog start +filegroup { + name: "protolog-common-src", + srcs: [ + "core/java/com/android/internal/protolog/common/**/*.java", + ], +} + +java_library { + name: "protolog-lib", + platform_apis: true, + srcs: [ + "core/java/com/android/internal/protolog/ProtoLogImpl.java", + "core/java/com/android/internal/protolog/ProtoLogViewerConfigReader.java", + ":protolog-common-src", + ], +} + +java_library { + name: "protolog-groups", + srcs: [ + "core/java/com/android/internal/protolog/ProtoLogGroup.java", + ":protolog-common-src", + ], +} +// protolog end |