1package { 2 // See: http://go/android-license-faq 3 // A large-scale-change added 'default_applicable_licenses' to import 4 // all of the 'license_kinds' from "frameworks_base_license" 5 // to get the below license kinds: 6 // SPDX-license-identifier-Apache-2.0 7 // SPDX-license-identifier-BSD 8 // legacy_unencumbered 9 default_applicable_licenses: ["frameworks_base_license"], 10} 11 12aidl_library { 13 name: "HardwareBuffer_aidl", 14 hdrs: ["android/hardware/HardwareBuffer.aidl"], 15} 16 17filegroup { 18 name: "framework-core-sources", 19 srcs: [ 20 "**/*.java", 21 "**/*.aidl", 22 ":framework-nfc-non-updatable-sources", 23 ], 24 visibility: ["//frameworks/base"], 25} 26 27aidl_library { 28 name: "IDropBoxManagerService_aidl", 29 srcs: [ 30 "com/android/internal/os/IDropBoxManagerService.aidl", 31 ], 32 hdrs: [ 33 "android/os/DropBoxManager.aidl", 34 ], 35} 36 37filegroup { 38 name: "IBinaryTransparencyService.aidl", 39 srcs: ["com/android/internal/os/IBinaryTransparencyService.aidl"], 40} 41 42filegroup { 43 name: "ITracingServiceProxy.aidl", 44 srcs: ["android/tracing/ITracingServiceProxy.aidl"], 45} 46 47filegroup { 48 name: "TraceReportParams.aidl", 49 srcs: ["android/tracing/TraceReportParams.aidl"], 50} 51 52filegroup { 53 name: "framework-internal-display-sources", 54 srcs: ["com/android/internal/display/BrightnessSynchronizer.java"], 55 visibility: ["//frameworks/base/services/tests/mockingservicestests"], 56} 57 58// These are subset of framework-core-sources that are needed by the 59// android.test.mock library. The implementation of android.test.mock references 60// private members of various components to allow mocking of classes that cannot 61// be mocked without access to those internal implementation details. 62filegroup { 63 name: "framework-core-sources-for-test-mock", 64 srcs: [ 65 "android/accounts/AccountManagerCallback.java", 66 "android/accounts/AccountManagerFuture.java", 67 "android/accounts/AccountManager.java", 68 "android/accounts/AccountsException.java", 69 "android/accounts/AuthenticatorException.java", 70 "android/accounts/OperationCanceledException.java", 71 "android/app/Application.java", 72 "android/app/IApplicationThread.aidl", 73 "android/app/IServiceConnection.aidl", 74 "android/app/PackageDeleteObserver.java", 75 "android/content/ComponentCallbacks2.java", 76 "android/content/ComponentCallbacks.java", 77 "android/content/ContentInterface.java", 78 "android/content/ContentProvider.java", 79 "android/content/ContentProviderNative.java", 80 "android/content/ContentResolver.java", 81 "android/content/Context.java", 82 "android/content/ContextWrapper.java", 83 "android/content/DialogInterface.java", 84 "android/content/IContentProvider.java", 85 "android/content/Intent.java", 86 "android/content/IntentSender.java", 87 "android/content/OperationApplicationException.java", 88 "android/content/pm/ActivityInfo.java", 89 "android/content/pm/ApplicationInfo.java", 90 "android/content/pm/InstantAppInfo.java", 91 "android/content/pm/IPackageDataObserver.aidl", 92 "android/content/pm/KeySet.java", 93 "android/content/pm/PackageManager.java", 94 "android/content/pm/VerifierDeviceIdentity.java", 95 "android/content/res/Resources.java", 96 "android/database/CrossProcessCursor.java", 97 "android/database/CrossProcessCursorWrapper.java", 98 "android/database/Cursor.java", 99 "android/database/CursorWrapper.java", 100 "android/os/Binder.java", 101 "android/os/Bundle.java", 102 "android/os/IBinder.java", 103 "android/os/IInterface.java", 104 "android/os/Parcelable.java", 105 "android/os/ParcelFileDescriptor.java", 106 "android/os/RemoteException.java", 107 "android/os/storage/VolumeInfo.java", 108 "android/util/AndroidException.java", 109 "android/view/DisplayAdjustments.java", 110 "android/view/ViewDebug.java", 111 ], 112 visibility: ["//frameworks/base/test-mock"], 113} 114 115filegroup { 116 name: "libincident_aidl", 117 srcs: [ 118 "android/os/IIncidentDumpCallback.aidl", 119 "android/os/IIncidentManager.aidl", 120 "android/os/IIncidentReportStatusListener.aidl", 121 ], 122} 123 124filegroup { 125 name: "libvibrator_aidl", 126 srcs: [ 127 "android/os/IExternalVibrationController.aidl", 128 "android/os/IExternalVibratorService.aidl", 129 "android/os/ExternalVibrationScale.aidl", 130 ], 131} 132 133filegroup { 134 name: "libpowermanager_aidl", 135 srcs: [ 136 "android/os/Temperature.aidl", 137 "android/os/CoolingDevice.aidl", 138 "android/os/IThermalEventListener.aidl", 139 "android/os/IThermalStatusListener.aidl", 140 "android/os/IThermalService.aidl", 141 "android/os/IPowerManager.aidl", 142 "android/os/IWakeLockCallback.aidl", 143 ], 144} 145 146aidl_interface { 147 name: "android.os.hintmanager_aidl", 148 srcs: [ 149 "android/os/IHintManager.aidl", 150 "android/os/IHintSession.aidl", 151 ], 152 unstable: true, 153 backend: { 154 java: { 155 sdk_version: "module_current", 156 enabled: true, 157 }, 158 cpp: { 159 enabled: false, 160 }, 161 ndk: { 162 enabled: true, 163 }, 164 }, 165 imports: [ 166 "android.hardware.power-V5", 167 ], 168} 169 170aidl_library { 171 name: "ILogcatManagerService_aidl", 172 srcs: ["android/os/logcat/ILogcatManagerService.aidl"], 173} 174 175genrule { 176 name: "statslog-framework-java-gen", 177 tools: ["stats-log-api-gen"], 178 cmd: "$(location stats-log-api-gen) --java $(out) --module framework" + 179 " --javaPackage com.android.internal.util --javaClass FrameworkStatsLog --worksource", 180 out: ["com/android/internal/util/FrameworkStatsLog.java"], 181} 182 183// Library that provides functionality to log UiEvents in framework space. 184// If this functionality is needed outside the framework, the interfaces library 185// can be re-used and a local implementation is needed. 186java_library { 187 name: "uieventloggerlib", 188 srcs: [ 189 "com/android/internal/logging/UiEventLoggerImpl.java", 190 ":statslog-framework-java-gen", 191 ], 192 libs: [ 193 "androidx.annotation_annotation", 194 ], 195 static_libs: ["modules-utils-uieventlogger-interface"], 196} 197 198java_library { 199 name: "modules-utils-locallog", 200 srcs: ["android/util/LocalLog.java"], 201 libs: ["unsupportedappusage"], 202 sdk_version: "module_current", 203 min_sdk_version: "30", 204 apex_available: [ 205 "//apex_available:anyapex", 206 "//apex_available:platform", 207 ], 208 visibility: ["//visibility:public"], 209} 210 211// keep these files in sync with the package/Tethering/jarjar-rules.txt and 212// package/Connectivity/jarjar-rules.txt for the tethering module and connectivity module. 213filegroup { 214 name: "framework-connectivity-shared-srcs", 215 srcs: [ 216 "android/util/IndentingPrintWriter.java", 217 "android/util/LocalLog.java", 218 // This should be android.util.IndentingPrintWriter, but it's not available in all branches. 219 "com/android/internal/util/IndentingPrintWriter.java", 220 "com/android/internal/util/MessageUtils.java", 221 "com/android/internal/util/WakeupMessage.java", 222 ], 223} 224 225// keep these files in sync with the packages/modules/Connectivity jarjar-rules.txt for 226// the connectivity module. 227filegroup { 228 name: "framework-connectivity-api-shared-srcs", 229 srcs: [ 230 "android/util/IndentingPrintWriter.java", 231 "com/android/internal/util/FileRotator.java", 232 ], 233} 234 235// keep these files in sync with the apex/jobscheduler/service jarjar-rules.txt for 236// the jobscheduler module. 237filegroup { 238 name: "framework-jobscheduler-shared-srcs", 239 srcs: [ 240 ":modules-utils-preconditions-srcs", 241 "com/android/internal/util/ArrayUtils.java", 242 "com/android/internal/util/BitUtils.java", 243 "com/android/internal/util/CollectionUtils.java", 244 "com/android/internal/util/ConcurrentUtils.java", 245 "com/android/internal/util/DumpUtils.java", 246 "com/android/internal/util/FastPrintWriter.java", 247 "com/android/internal/util/FunctionalUtils.java", 248 "com/android/internal/util/ParseUtils.java", 249 "com/android/internal/util/RingBufferIndices.java", 250 "com/android/internal/util/StatLogger.java", 251 "com/android/internal/util/XmlUtils.java", 252 ], 253} 254 255// Keep these files in sync with the apex/permission/jarjar-rules.txt for the permission module. 256filegroup { 257 name: "framework-permission-s-shared-srcs", 258 srcs: [ 259 ":modules-utils-preconditions-srcs", 260 "com/android/internal/infra/AndroidFuture.java", 261 "com/android/internal/infra/ServiceConnector.java", 262 "com/android/internal/infra/AndroidFuture.aidl", 263 "com/android/internal/infra/IAndroidFuture.aidl", 264 "android/os/HandlerExecutor.java", 265 ], 266} 267 268// Keep these files in sync with the apex/permission/jarjar-rules.txt for the permission module. 269filegroup { 270 name: "service-permission-shared-srcs", 271 srcs: [ 272 "android/util/IndentingPrintWriter.java", 273 "com/android/internal/util/dump/DualDumpOutputStream.java", 274 ], 275} 276 277filegroup { 278 name: "incremental_aidl", 279 srcs: [ 280 "android/os/incremental/IIncrementalServiceConnector.aidl", 281 "android/os/incremental/IncrementalFileSystemControlParcel.aidl", 282 ], 283} 284 285filegroup { 286 name: "dataloader_aidl", 287 srcs: [ 288 "android/content/pm/DataLoaderParamsParcel.aidl", 289 "android/content/pm/DataLoaderType.aidl", 290 "android/content/pm/FileSystemControlParcel.aidl", 291 "android/content/pm/IDataLoader.aidl", 292 "android/content/pm/IDataLoaderManager.aidl", 293 "android/content/pm/InstallationFileParcel.aidl", 294 "android/content/pm/InstallationFileLocation.aidl", 295 "android/content/pm/IDataLoaderStatusListener.aidl", 296 "android/content/pm/IPackageInstallerSessionFileSystemConnector.aidl", 297 ], 298} 299 300filegroup { 301 name: "incremental_manager_aidl", 302 srcs: [ 303 "android/os/incremental/IIncrementalService.aidl", 304 "android/os/incremental/IStorageLoadingProgressListener.aidl", 305 "android/os/incremental/IncrementalNewFileParams.aidl", 306 "android/os/incremental/IStorageHealthListener.aidl", 307 "android/os/incremental/PerUidReadTimeouts.aidl", 308 "android/os/incremental/StorageHealthCheckParams.aidl", 309 ], 310} 311 312filegroup { 313 name: "activity_manager_procstate_aidl", 314 srcs: [ 315 "android/app/ProcessStateEnum.aidl", 316 ], 317} 318 319filegroup { 320 name: "hwbinder-stubs-srcs", 321 srcs: [ 322 "android/os/HidlSupport.java", 323 "android/os/HidlMemory.java", 324 "android/os/HwBinder.java", 325 "android/os/HwBlob.java", 326 "android/os/HwParcel.java", 327 "android/os/IHwBinder.java", 328 "android/os/IHwInterface.java", 329 "android/os/DeadObjectException.java", 330 "android/os/DeadSystemException.java", 331 "android/os/NativeHandle.java", 332 "android/os/RemoteException.java", 333 "android/util/AndroidException.java", 334 ], 335 visibility: [ 336 "//frameworks/base", 337 "//frameworks/base/api", 338 ], 339} 340 341cc_defaults { 342 name: "incremental_default", 343 cflags: [ 344 "-Wall", 345 "-Wextra", 346 "-Wextra-semi", 347 "-Werror", 348 "-Wzero-as-null-pointer-constant", 349 "-DANDROID_BASE_UNIQUE_FD_DISABLE_IMPLICIT_CONVERSION", 350 ], 351 shared_libs: [ 352 "libbinder", 353 "libutils", 354 ], 355 aidl: { 356 include_dirs: [ 357 "frameworks/native/aidl/binder", 358 ], 359 export_aidl_headers: true, 360 }, 361} 362 363cc_library { 364 name: "libincremental_aidl-cpp", 365 srcs: [ 366 ":incremental_aidl", 367 ], 368 defaults: ["incremental_default"], 369} 370 371cc_library { 372 name: "libdataloader_aidl-cpp", 373 srcs: [ 374 ":dataloader_aidl", 375 ], 376 defaults: ["incremental_default"], 377 shared_libs: [ 378 "libincremental_aidl-cpp", 379 ], 380} 381 382cc_library { 383 name: "libincremental_manager_aidl-cpp", 384 srcs: [ 385 ":incremental_manager_aidl", 386 ], 387 defaults: ["incremental_default"], 388 shared_libs: [ 389 "libincremental_aidl-cpp", 390 "libdataloader_aidl-cpp", 391 ], 392} 393 394cc_library { 395 name: "libactivity_manager_procstate_aidl-cpp", 396 host_supported: true, 397 srcs: [ 398 ":activity_manager_procstate_aidl", 399 ], 400 aidl: { 401 export_aidl_headers: true, 402 }, 403} 404 405// Build Rust bindings for PermissionController. Needed by keystore2. 406aidl_interface { 407 name: "android.os.permissions_aidl", 408 unstable: true, 409 local_include_dir: ".", 410 srcs: [ 411 "android/os/IPermissionController.aidl", 412 ], 413 backend: { 414 rust: { 415 enabled: true, 416 apex_available: [ 417 "//apex_available:platform", 418 "com.android.virt", // for virtualizationservice 419 ], 420 }, 421 }, 422} 423 424// Build Rust bindings for remote provisioning. Needed by keystore2. 425aidl_interface { 426 name: "android.security.rkp_aidl", 427 unstable: true, 428 srcs: [ 429 "android/security/rkp/*.aidl", 430 ], 431 backend: { 432 rust: { 433 enabled: true, 434 apex_available: [ 435 "//apex_available:platform", 436 "com.android.virt", 437 ], 438 }, 439 }, 440} 441 442aidl_interface { 443 name: "android.debug_aidl", 444 unstable: true, 445 srcs: [ 446 "android/debug/AdbTransportType.aidl", 447 "android/debug/FingerprintAndPairDevice.aidl", 448 "android/debug/IAdbCallback.aidl", 449 "android/debug/IAdbManager.aidl", 450 "android/debug/PairDevice.aidl", 451 ], 452 backend: { 453 cpp: { 454 enabled: true, 455 }, 456 }, 457} 458 459aidl_interface { 460 name: "android.companion.virtual.virtualdevice_aidl", 461 unstable: true, 462 host_supported: true, 463 srcs: [ 464 "android/companion/virtualnative/IVirtualDeviceManagerNative.aidl", 465 ], 466 local_include_dir: ".", 467} 468 469filegroup { 470 name: "frameworks-base-java-overview", 471 srcs: ["overview.html"], 472} 473 474// Avoid including Parcelable classes as we don't want to have two copies of 475// Parcelable cross the libraries. This is used by telephony-common (frameworks/opt/telephony) 476// and TeleService app (packages/services/Telephony). 477filegroup { 478 name: "framework-telephony-common-shared-srcs", 479 srcs: [ 480 "android/os/RegistrantList.java", 481 "android/os/Registrant.java", 482 "android/util/IndentingPrintWriter.java", 483 "android/util/LocalLog.java", 484 "android/util/TimeUtils.java", 485 "com/android/internal/os/SomeArgs.java", 486 "com/android/internal/util/AsyncChannel.java", 487 "com/android/internal/util/AsyncService.java", 488 "com/android/internal/util/BitwiseInputStream.java", 489 "com/android/internal/util/HexDump.java", 490 "com/android/internal/util/IndentingPrintWriter.java", 491 "com/android/internal/util/UserIcons.java", 492 ], 493} 494 495filegroup { 496 name: "framework-ims-common-shared-srcs", 497 srcs: [ 498 ":modules-utils-preconditions-srcs", 499 "android/os/RegistrantList.java", 500 "android/os/Registrant.java", 501 "com/android/internal/os/SomeArgs.java", 502 ], 503} 504 505// This file group is used by service fuzzer 506filegroup { 507 name: "framework-core-sources-for-fuzzers", 508 srcs: [ 509 "android/os/IInterface.java", 510 "android/os/Binder.java", 511 "android/os/IBinder.java", 512 "android/os/Parcelable.java", 513 ], 514} 515 516aidl_interface { 517 name: "android.os.statsbootstrap_aidl", 518 unstable: true, 519 srcs: [ 520 "android/os/IStatsBootstrapAtomService.aidl", 521 "android/os/StatsBootstrapAtom.aidl", 522 "android/os/StatsBootstrapAtomValue.aidl", 523 ], 524 backend: { 525 cpp: { 526 enabled: true, 527 }, 528 }, 529} 530 531// utility classes statically linked into wifi-service 532filegroup { 533 name: "framework-wifi-service-shared-srcs", 534 srcs: [ 535 "android/net/InterfaceConfiguration.java", 536 "android/util/BackupUtils.java", 537 "android/util/Rational.java", 538 "com/android/internal/util/HexDump.java", 539 "com/android/internal/util/MessageUtils.java", 540 "com/android/internal/util/WakeupMessage.java", 541 ], 542 visibility: [ 543 "//frameworks/opt/net/wifi/service", 544 "//packages/modules/Wifi/service", 545 ], 546} 547 548// protolog start 549filegroup { 550 name: "protolog-common-src", 551 srcs: [ 552 "com/android/internal/protolog/common/**/*.java", 553 ], 554} 555 556java_library { 557 name: "protolog-group", 558 srcs: [ 559 "com/android/internal/protolog/common/IProtoLogGroup.java", 560 ], 561} 562 563// PackageManager common 564filegroup { 565 name: "framework-pm-common-shared-srcs", 566 srcs: [ 567 "com/android/server/pm/pkg/AndroidPackage.java", 568 "com/android/server/pm/pkg/AndroidPackageSplit.java", 569 ], 570} 571 572filegroup { 573 name: "protolog-impl", 574 srcs: [ 575 "com/android/internal/protolog/ProtoLogImpl.java", 576 ], 577} 578 579java_library { 580 name: "protolog-lib", 581 platform_apis: true, 582 srcs: [ 583 "com/android/internal/protolog/ProtoLogImpl.java", 584 "com/android/internal/protolog/ProtoLogViewerConfigReader.java", 585 ], 586 static_libs: [ 587 "perfetto_trace_javastream_protos_jarjar", 588 ], 589} 590 591java_library { 592 name: "protolog-groups", 593 srcs: [ 594 "com/android/internal/protolog/ProtoLogGroup.java", 595 ":protolog-common-src", 596 ], 597} 598 599// protolog end 600