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