• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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