blob: 0147910595e17890879a717d69081e2fd9674bee [file] [log] [blame]
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
// SPDX-license-identifier-BSD
// legacy_unencumbered
default_applicable_licenses: ["frameworks_base_license"],
}
aidl_library {
name: "HardwareBuffer_aidl",
hdrs: ["android/hardware/HardwareBuffer.aidl"],
}
filegroup {
name: "framework-core-sources",
srcs: [
"**/*.java",
"**/*.aidl",
":framework-nfc-non-updatable-sources",
],
visibility: ["//frameworks/base"],
}
aidl_library {
name: "IDropBoxManagerService_aidl",
srcs: [
"com/android/internal/os/IDropBoxManagerService.aidl",
],
hdrs: [
"android/os/DropBoxManager.aidl",
],
}
filegroup {
name: "IBinaryTransparencyService.aidl",
srcs: ["com/android/internal/os/IBinaryTransparencyService.aidl"],
}
filegroup {
name: "ITracingServiceProxy.aidl",
srcs: ["android/tracing/ITracingServiceProxy.aidl"],
}
filegroup {
name: "TraceReportParams.aidl",
srcs: ["android/tracing/TraceReportParams.aidl"],
}
filegroup {
name: "framework-internal-display-sources",
srcs: ["com/android/internal/display/BrightnessSynchronizer.java"],
visibility: ["//frameworks/base/services/tests/mockingservicestests"],
}
// These are subset of framework-core-sources that are needed by the
// 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: [
"android/accounts/AccountManagerCallback.java",
"android/accounts/AccountManagerFuture.java",
"android/accounts/AccountManager.java",
"android/accounts/AccountsException.java",
"android/accounts/AuthenticatorException.java",
"android/accounts/OperationCanceledException.java",
"android/app/Application.java",
"android/app/IApplicationThread.aidl",
"android/app/IServiceConnection.aidl",
"android/app/PackageDeleteObserver.java",
"android/content/ComponentCallbacks2.java",
"android/content/ComponentCallbacks.java",
"android/content/ContentInterface.java",
"android/content/ContentProvider.java",
"android/content/ContentProviderNative.java",
"android/content/ContentResolver.java",
"android/content/Context.java",
"android/content/ContextWrapper.java",
"android/content/DialogInterface.java",
"android/content/IContentProvider.java",
"android/content/Intent.java",
"android/content/IntentSender.java",
"android/content/OperationApplicationException.java",
"android/content/pm/ActivityInfo.java",
"android/content/pm/ApplicationInfo.java",
"android/content/pm/InstantAppInfo.java",
"android/content/pm/IPackageDataObserver.aidl",
"android/content/pm/KeySet.java",
"android/content/pm/PackageManager.java",
"android/content/pm/VerifierDeviceIdentity.java",
"android/content/res/Resources.java",
"android/database/CrossProcessCursor.java",
"android/database/CrossProcessCursorWrapper.java",
"android/database/Cursor.java",
"android/database/CursorWrapper.java",
"android/os/Binder.java",
"android/os/Bundle.java",
"android/os/IBinder.java",
"android/os/IInterface.java",
"android/os/Parcelable.java",
"android/os/ParcelFileDescriptor.java",
"android/os/RemoteException.java",
"android/os/storage/VolumeInfo.java",
"android/util/AndroidException.java",
"android/view/DisplayAdjustments.java",
"android/view/ViewDebug.java",
],
visibility: ["//frameworks/base/test-mock"],
}
filegroup {
name: "libincident_aidl",
srcs: [
"android/os/IIncidentDumpCallback.aidl",
"android/os/IIncidentManager.aidl",
"android/os/IIncidentReportStatusListener.aidl",
],
}
filegroup {
name: "libvibrator_aidl",
srcs: [
"android/os/IExternalVibrationController.aidl",
"android/os/IExternalVibratorService.aidl",
],
}
filegroup {
name: "libpowermanager_aidl",
srcs: [
"android/os/Temperature.aidl",
"android/os/CoolingDevice.aidl",
"android/os/IHintManager.aidl",
"android/os/IHintSession.aidl",
"android/os/IThermalEventListener.aidl",
"android/os/IThermalStatusListener.aidl",
"android/os/IThermalService.aidl",
"android/os/IPowerManager.aidl",
"android/os/IWakeLockCallback.aidl",
],
}
aidl_library {
name: "ILogcatManagerService_aidl",
srcs: ["android/os/logcat/ILogcatManagerService.aidl"],
}
genrule {
name: "statslog-framework-java-gen",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --java $(out) --module framework" +
" --javaPackage com.android.internal.util --javaClass FrameworkStatsLog --worksource",
out: ["com/android/internal/util/FrameworkStatsLog.java"],
}
// Library that provides functionality to log UiEvents in framework space.
// If this functionality is needed outside the framework, the interfaces library
// can be re-used and a local implementation is needed.
java_library {
name: "uieventloggerlib",
srcs: [
"com/android/internal/logging/UiEventLoggerImpl.java",
":statslog-framework-java-gen",
],
libs: [
"androidx.annotation_annotation",
],
static_libs: ["modules-utils-uieventlogger-interface"],
}
java_library {
name: "modules-utils-locallog",
srcs: ["android/util/LocalLog.java"],
libs: ["unsupportedappusage"],
sdk_version: "module_current",
min_sdk_version: "30",
apex_available: [
"//apex_available:anyapex",
"//apex_available:platform",
],
visibility: ["//visibility:public"],
}
// keep these files in sync with the package/Tethering/jarjar-rules.txt and
// package/Connectivity/jarjar-rules.txt for the tethering module and connectivity module.
filegroup {
name: "framework-connectivity-shared-srcs",
srcs: [
"android/util/IndentingPrintWriter.java",
"android/util/LocalLog.java",
// This should be android.util.IndentingPrintWriter, but it's not available in all branches.
"com/android/internal/util/IndentingPrintWriter.java",
"com/android/internal/util/MessageUtils.java",
"com/android/internal/util/WakeupMessage.java",
],
}
// keep these files in sync with the packages/modules/Connectivity jarjar-rules.txt for
// the connectivity module.
filegroup {
name: "framework-connectivity-api-shared-srcs",
srcs: [
"android/util/IndentingPrintWriter.java",
"com/android/internal/util/FileRotator.java",
],
}
// keep these files in sync with the apex/jobscheduler/service jarjar-rules.txt for
// the jobscheduler module.
filegroup {
name: "framework-jobscheduler-shared-srcs",
srcs: [
":modules-utils-preconditions-srcs",
"com/android/internal/util/ArrayUtils.java",
"com/android/internal/util/BitUtils.java",
"com/android/internal/util/CollectionUtils.java",
"com/android/internal/util/ConcurrentUtils.java",
"com/android/internal/util/DumpUtils.java",
"com/android/internal/util/FastPrintWriter.java",
"com/android/internal/util/FunctionalUtils.java",
"com/android/internal/util/ParseUtils.java",
"com/android/internal/util/RingBufferIndices.java",
"com/android/internal/util/StatLogger.java",
"com/android/internal/util/XmlUtils.java",
],
}
// Keep these files in sync with the apex/permission/jarjar-rules.txt for the permission module.
filegroup {
name: "framework-permission-s-shared-srcs",
srcs: [
":modules-utils-preconditions-srcs",
"com/android/internal/infra/AndroidFuture.java",
"com/android/internal/infra/ServiceConnector.java",
"com/android/internal/infra/AndroidFuture.aidl",
"com/android/internal/infra/IAndroidFuture.aidl",
"android/os/HandlerExecutor.java",
],
}
// Keep these files in sync with the apex/permission/jarjar-rules.txt for the permission module.
filegroup {
name: "service-permission-shared-srcs",
srcs: [
"android/util/IndentingPrintWriter.java",
"com/android/internal/util/dump/DualDumpOutputStream.java",
],
}
filegroup {
name: "incremental_aidl",
srcs: [
"android/os/incremental/IIncrementalServiceConnector.aidl",
"android/os/incremental/IncrementalFileSystemControlParcel.aidl",
],
}
filegroup {
name: "dataloader_aidl",
srcs: [
"android/content/pm/DataLoaderParamsParcel.aidl",
"android/content/pm/DataLoaderType.aidl",
"android/content/pm/FileSystemControlParcel.aidl",
"android/content/pm/IDataLoader.aidl",
"android/content/pm/IDataLoaderManager.aidl",
"android/content/pm/InstallationFileParcel.aidl",
"android/content/pm/InstallationFileLocation.aidl",
"android/content/pm/IDataLoaderStatusListener.aidl",
"android/content/pm/IPackageInstallerSessionFileSystemConnector.aidl",
],
}
filegroup {
name: "incremental_manager_aidl",
srcs: [
"android/os/incremental/IIncrementalService.aidl",
"android/os/incremental/IStorageLoadingProgressListener.aidl",
"android/os/incremental/IncrementalNewFileParams.aidl",
"android/os/incremental/IStorageHealthListener.aidl",
"android/os/incremental/PerUidReadTimeouts.aidl",
"android/os/incremental/StorageHealthCheckParams.aidl",
],
}
filegroup {
name: "activity_manager_procstate_aidl",
srcs: [
"android/app/ProcessStateEnum.aidl",
],
}
filegroup {
name: "hwbinder-stubs-srcs",
srcs: [
"android/os/HidlSupport.java",
"android/os/HidlMemory.java",
"android/os/HwBinder.java",
"android/os/HwBlob.java",
"android/os/HwParcel.java",
"android/os/IHwBinder.java",
"android/os/IHwInterface.java",
"android/os/DeadObjectException.java",
"android/os/DeadSystemException.java",
"android/os/NativeHandle.java",
"android/os/RemoteException.java",
"android/util/AndroidException.java",
],
visibility: [
"//frameworks/base",
"//frameworks/base/api",
],
}
cc_defaults {
name: "incremental_default",
cflags: [
"-Wall",
"-Wextra",
"-Wextra-semi",
"-Werror",
"-Wzero-as-null-pointer-constant",
"-DANDROID_BASE_UNIQUE_FD_DISABLE_IMPLICIT_CONVERSION",
],
shared_libs: [
"libbinder",
"libutils",
],
aidl: {
include_dirs: [
"frameworks/native/aidl/binder",
],
export_aidl_headers: true,
},
}
cc_library {
name: "libincremental_aidl-cpp",
srcs: [
":incremental_aidl",
],
defaults: ["incremental_default"],
}
cc_library {
name: "libdataloader_aidl-cpp",
srcs: [
":dataloader_aidl",
],
defaults: ["incremental_default"],
shared_libs: [
"libincremental_aidl-cpp",
],
}
cc_library {
name: "libincremental_manager_aidl-cpp",
srcs: [
":incremental_manager_aidl",
],
defaults: ["incremental_default"],
shared_libs: [
"libincremental_aidl-cpp",
"libdataloader_aidl-cpp",
],
}
cc_library {
name: "libactivity_manager_procstate_aidl-cpp",
host_supported: true,
srcs: [
":activity_manager_procstate_aidl",
],
aidl: {
export_aidl_headers: true,
},
}
// Build Rust bindings for PermissionController. Needed by keystore2.
aidl_interface {
name: "android.os.permissions_aidl",
unstable: true,
local_include_dir: ".",
srcs: [
"android/os/IPermissionController.aidl",
],
backend: {
rust: {
enabled: true,
apex_available: [
"//apex_available:platform",
"com.android.virt", // for virtualizationservice
],
},
},
}
// Build Rust bindings for remote provisioning. Needed by keystore2.
aidl_interface {
name: "android.security.rkp_aidl",
unstable: true,
srcs: [
"android/security/rkp/*.aidl",
],
backend: {
rust: {
enabled: true,
apex_available: [
"//apex_available:platform",
"com.android.virt",
],
},
},
}
aidl_interface {
name: "android.debug_aidl",
unstable: true,
srcs: [
"android/debug/AdbTransportType.aidl",
"android/debug/FingerprintAndPairDevice.aidl",
"android/debug/IAdbCallback.aidl",
"android/debug/IAdbManager.aidl",
"android/debug/PairDevice.aidl",
],
backend: {
cpp: {
enabled: true,
},
},
}
aidl_interface {
name: "android.companion.virtual.virtualdevice_aidl",
unstable: true,
host_supported: true,
srcs: [
"android/companion/virtualnative/IVirtualDeviceManagerNative.aidl",
],
local_include_dir: ".",
}
filegroup {
name: "frameworks-base-java-overview",
srcs: ["overview.html"],
}
// Avoid including Parcelable classes as we don't want to have two copies of
// Parcelable cross the libraries. This is used by telephony-common (frameworks/opt/telephony)
// and TeleService app (packages/services/Telephony).
filegroup {
name: "framework-telephony-common-shared-srcs",
srcs: [
"android/os/RegistrantList.java",
"android/os/Registrant.java",
"android/util/IndentingPrintWriter.java",
"android/util/LocalLog.java",
"android/util/TimeUtils.java",
"com/android/internal/os/SomeArgs.java",
"com/android/internal/util/AsyncChannel.java",
"com/android/internal/util/AsyncService.java",
"com/android/internal/util/BitwiseInputStream.java",
"com/android/internal/util/HexDump.java",
"com/android/internal/util/IndentingPrintWriter.java",
"com/android/internal/util/UserIcons.java",
],
}
filegroup {
name: "framework-ims-common-shared-srcs",
srcs: [
":modules-utils-preconditions-srcs",
"android/os/RegistrantList.java",
"android/os/Registrant.java",
"com/android/internal/os/SomeArgs.java",
],
}
// This file group is used by service fuzzer
filegroup {
name: "framework-core-sources-for-fuzzers",
srcs: [
"android/os/IInterface.java",
"android/os/Binder.java",
"android/os/IBinder.java",
"android/os/Parcelable.java",
],
}
aidl_interface {
name: "android.os.statsbootstrap_aidl",
unstable: true,
srcs: [
"android/os/IStatsBootstrapAtomService.aidl",
"android/os/StatsBootstrapAtom.aidl",
"android/os/StatsBootstrapAtomValue.aidl",
],
backend: {
cpp: {
enabled: true,
},
},
}
// utility classes statically linked into wifi-service
filegroup {
name: "framework-wifi-service-shared-srcs",
srcs: [
"android/net/InterfaceConfiguration.java",
"android/util/BackupUtils.java",
"android/util/Rational.java",
"com/android/internal/util/HexDump.java",
"com/android/internal/util/MessageUtils.java",
"com/android/internal/util/WakeupMessage.java",
],
visibility: [
"//frameworks/opt/net/wifi/service",
"//packages/modules/Wifi/service",
],
}
// protolog start
filegroup {
name: "protolog-common-src",
srcs: [
"com/android/internal/protolog/common/**/*.java",
],
}
// common protolog sources without classes that rely on Android SDK
filegroup {
name: "protolog-common-no-android-src",
srcs: [
":protolog-common-src",
],
exclude_srcs: [
"com/android/internal/protolog/common/ProtoLog.java",
],
}
// PackageManager common
filegroup {
name: "framework-pm-common-shared-srcs",
srcs: [
"com/android/server/pm/pkg/AndroidPackage.java",
"com/android/server/pm/pkg/AndroidPackageSplit.java",
],
}
java_library {
name: "protolog-lib",
platform_apis: true,
srcs: [
"com/android/internal/protolog/ProtoLogImpl.java",
"com/android/internal/protolog/ProtoLogViewerConfigReader.java",
":protolog-common-src",
],
}
java_library {
name: "protolog-groups",
srcs: [
"com/android/internal/protolog/ProtoLogGroup.java",
":protolog-common-src",
],
}
// protolog end