OSDN Git Service

Merge "Mark installable jars with installable: true"
[android-x86/frameworks-base.git] / Android.bp
1 // Copyright (C) 2016 The Android Open Source Project
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //      http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 // Build the master framework library.
16
17 // READ ME: ########################################################
18 //
19 // When updating this list of aidl files, consider if that aidl is
20 // part of the SDK API.  If it is, also add it to the list in Android.mk
21 // that is preprocessed and distributed with the SDK.  This list should
22 // not contain any aidl files for parcelables, but the one below should
23 // if you intend for 3rd parties to be able to send those objects
24 // across process boundaries.
25 //
26 // READ ME: ########################################################
27
28 java_library {
29     name: "framework",
30     installable: true,
31
32     srcs: [
33         // From build/make/core/pathmap.mk FRAMEWORK_BASE_SUBDIRS
34         "core/java/**/*.java",
35         "graphics/java/**/*.java",
36         "location/java/**/*.java",
37         "lowpan/java/**/*.java",
38         "media/java/**/*.java",
39         "media/mca/effect/java/**/*.java",
40         "media/mca/filterfw/java/**/*.java",
41         "media/mca/filterpacks/java/**/*.java",
42         "drm/java/**/*.java",
43         "opengl/java/**/*.java",
44         "sax/java/**/*.java",
45         "telecomm/java/**/*.java",
46         "telephony/java/**/*.java",
47         "wifi/java/**/*.java",
48         "keystore/java/**/*.java",
49         "rs/java/**/*.java",
50
51         ":framework-javastream-protos",
52
53         "core/java/android/accessibilityservice/IAccessibilityServiceConnection.aidl",
54         "core/java/android/accessibilityservice/IAccessibilityServiceClient.aidl",
55         "core/java/android/accounts/IAccountManager.aidl",
56         "core/java/android/accounts/IAccountManagerResponse.aidl",
57         "core/java/android/accounts/IAccountAuthenticator.aidl",
58         "core/java/android/accounts/IAccountAuthenticatorResponse.aidl",
59         "core/java/android/app/IActivityController.aidl",
60         "core/java/android/app/IActivityManager.aidl",
61         "core/java/android/app/IActivityPendingResult.aidl",
62         "core/java/android/app/IAlarmCompleteListener.aidl",
63         "core/java/android/app/IAlarmListener.aidl",
64         "core/java/android/app/IAlarmManager.aidl",
65         "core/java/android/app/IAppTask.aidl",
66         "core/java/android/app/IApplicationThread.aidl",
67         "core/java/android/app/IAssistDataReceiver.aidl",
68         "core/java/android/app/ITaskStackListener.aidl",
69         "core/java/android/app/IBackupAgent.aidl",
70         "core/java/android/app/IEphemeralResolver.aidl",
71         "core/java/android/app/IInputForwarder.aidl",
72         "core/java/android/app/IInstantAppResolver.aidl",
73         "core/java/android/app/IInstrumentationWatcher.aidl",
74         "core/java/android/app/INotificationManager.aidl",
75         "core/java/android/app/IProcessObserver.aidl",
76         "core/java/android/app/ISearchManager.aidl",
77         "core/java/android/app/ISearchManagerCallback.aidl",
78         "core/java/android/app/IServiceConnection.aidl",
79         "core/java/android/app/IStopUserCallback.aidl",
80         "core/java/android/app/job/IJobCallback.aidl",
81         "core/java/android/app/job/IJobScheduler.aidl",
82         "core/java/android/app/job/IJobService.aidl",
83         "core/java/android/app/ITransientNotification.aidl",
84         "core/java/android/app/IUidObserver.aidl",
85         "core/java/android/app/IUiAutomationConnection.aidl",
86         "core/java/android/app/IUiModeManager.aidl",
87         "core/java/android/app/IUserSwitchObserver.aidl",
88         "core/java/android/app/IWallpaperManager.aidl",
89         "core/java/android/app/IWallpaperManagerCallback.aidl",
90         "core/java/android/app/admin/IDeviceAdminService.aidl",
91         "core/java/android/app/admin/IDevicePolicyManager.aidl",
92         "core/java/android/app/trust/IStrongAuthTracker.aidl",
93         "core/java/android/app/trust/ITrustManager.aidl",
94         "core/java/android/app/trust/ITrustListener.aidl",
95         "core/java/android/app/backup/IBackupManager.aidl",
96         "core/java/android/app/backup/IBackupObserver.aidl",
97         "core/java/android/app/backup/IBackupManagerMonitor.aidl",
98         "core/java/android/app/backup/IFullBackupRestoreObserver.aidl",
99         "core/java/android/app/backup/IRestoreObserver.aidl",
100         "core/java/android/app/backup/IRestoreSession.aidl",
101         "core/java/android/app/backup/ISelectBackupTransportCallback.aidl",
102         "core/java/android/app/slice/ISliceManager.aidl",
103         "core/java/android/app/slice/ISliceListener.aidl",
104         "core/java/android/app/timedetector/ITimeDetectorService.aidl",
105         "core/java/android/app/timezone/ICallback.aidl",
106         "core/java/android/app/timezone/IRulesManager.aidl",
107         "core/java/android/app/timezonedetector/ITimeZoneDetectorService.aidl",
108         "core/java/android/app/usage/ICacheQuotaService.aidl",
109         "core/java/android/app/usage/IStorageStatsManager.aidl",
110         "core/java/android/app/usage/IUsageStatsManager.aidl",
111         ":libbluetooth-binder-aidl",
112         "core/java/android/content/IClipboard.aidl",
113         "core/java/android/content/IContentService.aidl",
114         "core/java/android/content/IIntentReceiver.aidl",
115         "core/java/android/content/IIntentSender.aidl",
116         "core/java/android/content/IOnPrimaryClipChangedListener.aidl",
117         "core/java/android/content/IRestrictionsManager.aidl",
118         "core/java/android/content/ISyncAdapter.aidl",
119         "core/java/android/content/ISyncAdapterUnsyncableAccountCallback.aidl",
120         "core/java/android/content/ISyncContext.aidl",
121         "core/java/android/content/ISyncServiceAdapter.aidl",
122         "core/java/android/content/ISyncStatusObserver.aidl",
123         "core/java/android/content/om/IOverlayManager.aidl",
124         "core/java/android/content/pm/ICrossProfileApps.aidl",
125         "core/java/android/content/pm/IDexModuleRegisterCallback.aidl",
126         "core/java/android/content/pm/ILauncherApps.aidl",
127         "core/java/android/content/pm/IOnAppsChangedListener.aidl",
128         "core/java/android/content/pm/IOnPermissionsChangeListener.aidl",
129         "core/java/android/content/pm/IOtaDexopt.aidl",
130         "core/java/android/content/pm/IPackageDataObserver.aidl",
131         "core/java/android/content/pm/IPackageDeleteObserver.aidl",
132         "core/java/android/content/pm/IPackageDeleteObserver2.aidl",
133         "core/java/android/content/pm/IPackageInstallObserver2.aidl",
134         "core/java/android/content/pm/IPackageInstaller.aidl",
135         "core/java/android/content/pm/IPackageInstallerCallback.aidl",
136         "core/java/android/content/pm/IPackageInstallerSession.aidl",
137         "core/java/android/content/pm/IPackageManager.aidl",
138         ":libbinder_aidl",
139         "core/java/android/content/pm/IPackageMoveObserver.aidl",
140         "core/java/android/content/pm/IPackageStatsObserver.aidl",
141         "core/java/android/content/pm/IPinItemRequest.aidl",
142         "core/java/android/content/pm/IShortcutService.aidl",
143         "core/java/android/content/pm/dex/IArtManager.aidl",
144         "core/java/android/content/pm/dex/ISnapshotRuntimeProfileCallback.aidl",
145         "core/java/android/content/pm/permission/IRuntimePermissionPresenter.aidl",
146         "core/java/android/database/IContentObserver.aidl",
147         ":libcamera_client_aidl",
148         ":libcamera_client_framework_aidl",
149         "core/java/android/hardware/IConsumerIrService.aidl",
150         "core/java/android/hardware/ISerialManager.aidl",
151         "core/java/android/hardware/biometrics/IBiometricPromptReceiver.aidl",
152         "core/java/android/hardware/display/IDisplayManager.aidl",
153         "core/java/android/hardware/display/IDisplayManagerCallback.aidl",
154         "core/java/android/hardware/display/IVirtualDisplayCallback.aidl",
155         "core/java/android/hardware/fingerprint/IFingerprintClientActiveCallback.aidl",
156         "core/java/android/hardware/fingerprint/IFingerprintService.aidl",
157         "core/java/android/hardware/fingerprint/IFingerprintServiceLockoutResetCallback.aidl",
158         "core/java/android/hardware/fingerprint/IFingerprintServiceReceiver.aidl",
159         "core/java/android/hardware/hdmi/IHdmiControlCallback.aidl",
160         "core/java/android/hardware/hdmi/IHdmiControlService.aidl",
161         "core/java/android/hardware/hdmi/IHdmiDeviceEventListener.aidl",
162         "core/java/android/hardware/hdmi/IHdmiHotplugEventListener.aidl",
163         "core/java/android/hardware/hdmi/IHdmiInputChangeListener.aidl",
164         "core/java/android/hardware/hdmi/IHdmiMhlVendorCommandListener.aidl",
165         "core/java/android/hardware/hdmi/IHdmiRecordListener.aidl",
166         "core/java/android/hardware/hdmi/IHdmiSystemAudioModeChangeListener.aidl",
167         "core/java/android/hardware/hdmi/IHdmiVendorCommandListener.aidl",
168         "core/java/android/hardware/input/IInputManager.aidl",
169         "core/java/android/hardware/input/IInputDevicesChangedListener.aidl",
170         "core/java/android/hardware/input/ITabletModeChangedListener.aidl",
171         "core/java/android/hardware/location/IActivityRecognitionHardware.aidl",
172         "core/java/android/hardware/location/IActivityRecognitionHardwareClient.aidl",
173         "core/java/android/hardware/location/IActivityRecognitionHardwareSink.aidl",
174         "core/java/android/hardware/location/IActivityRecognitionHardwareWatcher.aidl",
175         "core/java/android/hardware/location/IGeofenceHardware.aidl",
176         "core/java/android/hardware/location/IGeofenceHardwareCallback.aidl",
177         "core/java/android/hardware/location/IGeofenceHardwareMonitorCallback.aidl",
178         "core/java/android/hardware/location/IContextHubCallback.aidl",
179         "core/java/android/hardware/location/IContextHubClient.aidl",
180         "core/java/android/hardware/location/IContextHubClientCallback.aidl",
181         "core/java/android/hardware/location/IContextHubService.aidl",
182         "core/java/android/hardware/location/IContextHubTransactionCallback.aidl",
183         "core/java/android/hardware/radio/IAnnouncementListener.aidl",
184         "core/java/android/hardware/radio/ICloseHandle.aidl",
185         "core/java/android/hardware/radio/IRadioService.aidl",
186         "core/java/android/hardware/radio/ITuner.aidl",
187         "core/java/android/hardware/radio/ITunerCallback.aidl",
188         "core/java/android/hardware/soundtrigger/IRecognitionStatusCallback.aidl",
189         "core/java/android/hardware/usb/IUsbManager.aidl",
190         "core/java/android/net/ICaptivePortal.aidl",
191         "core/java/android/net/IConnectivityManager.aidl",
192         "core/java/android/net/IIpConnectivityMetrics.aidl",
193         "core/java/android/net/IEthernetManager.aidl",
194         "core/java/android/net/IEthernetServiceListener.aidl",
195         "core/java/android/net/INetdEventCallback.aidl",
196         "core/java/android/net/IIpSecService.aidl",
197         "core/java/android/net/INetworkManagementEventObserver.aidl",
198         "core/java/android/net/INetworkPolicyListener.aidl",
199         "core/java/android/net/INetworkPolicyManager.aidl",
200         "core/java/android/net/INetworkRecommendationProvider.aidl",
201         "core/java/android/net/INetworkScoreCache.aidl",
202         "core/java/android/net/INetworkScoreService.aidl",
203         "core/java/android/net/INetworkStatsService.aidl",
204         "core/java/android/net/INetworkStatsSession.aidl",
205         "core/java/android/net/ITetheringStatsProvider.aidl",
206         "core/java/android/net/nsd/INsdManager.aidl",
207         "core/java/android/nfc/IAppCallback.aidl",
208         "core/java/android/nfc/INfcAdapter.aidl",
209         "core/java/android/nfc/INfcAdapterExtras.aidl",
210         "core/java/android/nfc/INfcTag.aidl",
211         "core/java/android/nfc/INfcCardEmulation.aidl",
212         "core/java/android/nfc/INfcFCardEmulation.aidl",
213         "core/java/android/nfc/INfcUnlockHandler.aidl",
214         "core/java/android/nfc/INfcDta.aidl",
215         "core/java/android/nfc/ITagRemovedCallback.aidl",
216         "core/java/android/se/omapi/ISecureElementService.aidl",
217         "core/java/android/se/omapi/ISecureElementListener.aidl",
218         "core/java/android/se/omapi/ISecureElementChannel.aidl",
219         "core/java/android/se/omapi/ISecureElementReader.aidl",
220         "core/java/android/se/omapi/ISecureElementSession.aidl",
221         "core/java/android/os/IBatteryPropertiesListener.aidl",
222         "core/java/android/os/IBatteryPropertiesRegistrar.aidl",
223         "core/java/android/os/ICancellationSignal.aidl",
224         "core/java/android/os/IDeviceIdentifiersPolicyService.aidl",
225         "core/java/android/os/IDeviceIdleController.aidl",
226         "core/java/android/os/IHardwarePropertiesManager.aidl",
227         "core/java/android/os/IIncidentManager.aidl",
228         "core/java/android/os/IIncidentReportStatusListener.aidl",
229         "core/java/android/os/IMaintenanceActivityListener.aidl",
230         "core/java/android/os/IMessenger.aidl",
231         "core/java/android/os/INetworkActivityListener.aidl",
232         "core/java/android/os/INetworkManagementService.aidl",
233         "core/java/android/os/IPermissionController.aidl",
234         "core/java/android/os/IProcessInfoService.aidl",
235         "core/java/android/os/IProgressListener.aidl",
236         "core/java/android/os/IPowerManager.aidl",
237         "core/java/android/os/IRecoverySystem.aidl",
238         "core/java/android/os/IRecoverySystemProgressListener.aidl",
239         "core/java/android/os/IRemoteCallback.aidl",
240         "core/java/android/os/ISchedulingPolicyService.aidl",
241         "core/java/android/os/IStatsCompanionService.aidl",
242         "core/java/android/os/IStatsManager.aidl",
243         "core/java/android/os/ISystemUpdateManager.aidl",
244         "core/java/android/os/IThermalEventListener.aidl",
245         "core/java/android/os/IThermalService.aidl",
246         "core/java/android/os/IUpdateLock.aidl",
247         "core/java/android/os/IUserManager.aidl",
248         "core/java/android/os/IVibratorService.aidl",
249         "core/java/android/os/storage/IStorageManager.aidl",
250         "core/java/android/os/storage/IStorageEventListener.aidl",
251         "core/java/android/os/storage/IStorageShutdownObserver.aidl",
252         "core/java/android/os/storage/IObbActionListener.aidl",
253         ":keystore_aidl",
254         "core/java/android/security/keymaster/IKeyAttestationApplicationIdProvider.aidl",
255         "core/java/android/service/autofill/IAutoFillService.aidl",
256         "core/java/android/service/autofill/IAutofillFieldClassificationService.aidl",
257         "core/java/android/service/autofill/IFillCallback.aidl",
258         "core/java/android/service/autofill/ISaveCallback.aidl",
259         "core/java/android/service/carrier/ICarrierService.aidl",
260         "core/java/android/service/carrier/ICarrierMessagingCallback.aidl",
261         "core/java/android/service/carrier/ICarrierMessagingService.aidl",
262         "core/java/android/service/euicc/IDeleteSubscriptionCallback.aidl",
263         "core/java/android/service/euicc/IDownloadSubscriptionCallback.aidl",
264         "core/java/android/service/euicc/IEraseSubscriptionsCallback.aidl",
265         "core/java/android/service/euicc/IEuiccService.aidl",
266         "core/java/android/service/euicc/IGetDefaultDownloadableSubscriptionListCallback.aidl",
267         "core/java/android/service/euicc/IGetDownloadableSubscriptionMetadataCallback.aidl",
268         "core/java/android/service/euicc/IGetEidCallback.aidl",
269         "core/java/android/service/euicc/IGetEuiccInfoCallback.aidl",
270         "core/java/android/service/euicc/IGetEuiccProfileInfoListCallback.aidl",
271         "core/java/android/service/euicc/IGetOtaStatusCallback.aidl",
272         "core/java/android/service/euicc/IOtaStatusChangedCallback.aidl",
273         "core/java/android/service/euicc/IRetainSubscriptionsForFactoryResetCallback.aidl",
274         "core/java/android/service/euicc/ISwitchToSubscriptionCallback.aidl",
275         "core/java/android/service/euicc/IUpdateSubscriptionNicknameCallback.aidl",
276         "core/java/android/service/gatekeeper/IGateKeeperService.aidl",
277         "core/java/android/service/notification/INotificationListener.aidl",
278         "core/java/android/service/notification/IStatusBarNotificationHolder.aidl",
279         "core/java/android/service/notification/IConditionListener.aidl",
280         "core/java/android/service/notification/IConditionProvider.aidl",
281         "core/java/android/service/settings/suggestions/ISuggestionService.aidl",
282         "core/java/android/service/vr/IPersistentVrStateCallbacks.aidl",
283         "core/java/android/service/vr/IVrListener.aidl",
284         "core/java/android/service/vr/IVrManager.aidl",
285         "core/java/android/service/vr/IVrStateCallbacks.aidl",
286         "core/java/android/print/ILayoutResultCallback.aidl",
287         "core/java/android/print/IPrinterDiscoveryObserver.aidl",
288         "core/java/android/print/IPrintDocumentAdapter.aidl",
289         "core/java/android/print/IPrintDocumentAdapterObserver.aidl",
290         "core/java/android/print/IPrintJobStateChangeListener.aidl",
291         "core/java/android/print/IPrintServicesChangeListener.aidl",
292         "core/java/android/printservice/recommendation/IRecommendationsChangeListener.aidl",
293         "core/java/android/print/IPrintManager.aidl",
294         "core/java/android/print/IPrintSpooler.aidl",
295         "core/java/android/print/IPrintSpoolerCallbacks.aidl",
296         "core/java/android/print/IPrintSpoolerClient.aidl",
297         "core/java/android/printservice/recommendation/IRecommendationServiceCallbacks.aidl",
298         "core/java/android/printservice/recommendation/IRecommendationService.aidl",
299         "core/java/android/print/IWriteResultCallback.aidl",
300         "core/java/android/printservice/IPrintService.aidl",
301         "core/java/android/printservice/IPrintServiceClient.aidl",
302         "core/java/android/companion/ICompanionDeviceManager.aidl",
303         "core/java/android/companion/ICompanionDeviceDiscoveryService.aidl",
304         "core/java/android/companion/ICompanionDeviceDiscoveryServiceCallback.aidl",
305         "core/java/android/companion/IFindDeviceCallback.aidl",
306         "core/java/android/service/dreams/IDreamManager.aidl",
307         "core/java/android/service/dreams/IDreamService.aidl",
308         "core/java/android/service/oemlock/IOemLockService.aidl",
309         "core/java/android/service/persistentdata/IPersistentDataBlockService.aidl",
310         "core/java/android/service/trust/ITrustAgentService.aidl",
311         "core/java/android/service/trust/ITrustAgentServiceCallback.aidl",
312         "core/java/android/service/voice/IVoiceInteractionService.aidl",
313         "core/java/android/service/voice/IVoiceInteractionSession.aidl",
314         "core/java/android/service/voice/IVoiceInteractionSessionService.aidl",
315         "core/java/android/service/wallpaper/IWallpaperConnection.aidl",
316         "core/java/android/service/wallpaper/IWallpaperEngine.aidl",
317         "core/java/android/service/wallpaper/IWallpaperService.aidl",
318         "core/java/android/service/chooser/IChooserTargetService.aidl",
319         "core/java/android/service/chooser/IChooserTargetResult.aidl",
320         "core/java/android/service/resolver/IResolverRankerService.aidl",
321         "core/java/android/service/resolver/IResolverRankerResult.aidl",
322         "core/java/android/service/textclassifier/ITextClassificationCallback.aidl",
323         "core/java/android/service/textclassifier/ITextClassifierService.aidl",
324         "core/java/android/service/textclassifier/ITextLinksCallback.aidl",
325         "core/java/android/service/textclassifier/ITextSelectionCallback.aidl",
326         "core/java/android/view/accessibility/IAccessibilityInteractionConnection.aidl",
327         "core/java/android/view/accessibility/IAccessibilityInteractionConnectionCallback.aidl",
328         "core/java/android/view/accessibility/IAccessibilityManager.aidl",
329         "core/java/android/view/accessibility/IAccessibilityManagerClient.aidl",
330         "core/java/android/view/autofill/IAutoFillManager.aidl",
331         "core/java/android/view/autofill/IAutoFillManagerClient.aidl",
332         "core/java/android/view/autofill/IAutofillWindowPresenter.aidl",
333         "core/java/android/view/IApplicationToken.aidl",
334         "core/java/android/view/IAppTransitionAnimationSpecsFuture.aidl",
335         "core/java/android/view/IDockedStackListener.aidl",
336         "core/java/android/view/IGraphicsStats.aidl",
337         "core/java/android/view/IGraphicsStatsCallback.aidl",
338         "core/java/android/view/IInputFilter.aidl",
339         "core/java/android/view/IInputFilterHost.aidl",
340         "core/java/android/view/IOnKeyguardExitResult.aidl",
341         "core/java/android/view/IPinnedStackController.aidl",
342         "core/java/android/view/IPinnedStackListener.aidl",
343         "core/java/android/view/IRemoteAnimationRunner.aidl",
344         "core/java/android/view/IRecentsAnimationController.aidl",
345         "core/java/android/view/IRecentsAnimationRunner.aidl",
346         "core/java/android/view/IRemoteAnimationFinishedCallback.aidl",
347         "core/java/android/view/IRotationWatcher.aidl",
348         "core/java/android/view/IWallpaperVisibilityListener.aidl",
349         "core/java/android/view/IWindow.aidl",
350         "core/java/android/view/IWindowFocusObserver.aidl",
351         "core/java/android/view/IWindowId.aidl",
352         "core/java/android/view/IWindowManager.aidl",
353         "core/java/android/view/IWindowSession.aidl",
354         "core/java/android/view/IWindowSessionCallback.aidl",
355         "core/java/android/webkit/IWebViewUpdateService.aidl",
356         "core/java/android/speech/IRecognitionListener.aidl",
357         "core/java/android/speech/IRecognitionService.aidl",
358         "core/java/android/speech/tts/ITextToSpeechCallback.aidl",
359         "core/java/android/speech/tts/ITextToSpeechService.aidl",
360         "core/java/com/android/internal/app/IAppOpsActiveCallback.aidl",
361         "core/java/com/android/internal/app/IAppOpsCallback.aidl",
362         "core/java/com/android/internal/app/IAppOpsService.aidl",
363         "core/java/com/android/internal/app/IBatteryStats.aidl",
364         "core/java/com/android/internal/app/ISoundTriggerService.aidl",
365         "core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl",
366         "core/java/com/android/internal/app/IVoiceInteractionSessionListener.aidl",
367         "core/java/com/android/internal/app/IVoiceInteractionSessionShowCallback.aidl",
368         "core/java/com/android/internal/app/IVoiceInteractor.aidl",
369         "core/java/com/android/internal/app/IVoiceInteractorCallback.aidl",
370         "core/java/com/android/internal/app/IVoiceInteractorRequest.aidl",
371         "core/java/com/android/internal/app/IMediaContainerService.aidl",
372         "core/java/com/android/internal/app/procstats/IProcessStats.aidl",
373         "core/java/com/android/internal/appwidget/IAppWidgetService.aidl",
374         "core/java/com/android/internal/appwidget/IAppWidgetHost.aidl",
375         "core/java/com/android/internal/backup/IBackupTransport.aidl",
376         "core/java/com/android/internal/backup/IObbBackupService.aidl",
377         "core/java/com/android/internal/inputmethod/IInputContentUriToken.aidl",
378         "core/java/com/android/internal/net/INetworkWatchlistManager.aidl",
379         "core/java/com/android/internal/policy/IKeyguardDrawnCallback.aidl",
380         "core/java/com/android/internal/policy/IKeyguardDismissCallback.aidl",
381         "core/java/com/android/internal/policy/IKeyguardExitCallback.aidl",
382         "core/java/com/android/internal/policy/IKeyguardService.aidl",
383         "core/java/com/android/internal/policy/IKeyguardStateCallback.aidl",
384         "core/java/com/android/internal/policy/IShortcutService.aidl",
385         "core/java/com/android/internal/os/IDropBoxManagerService.aidl",
386         "core/java/com/android/internal/os/IParcelFileDescriptorFactory.aidl",
387         "core/java/com/android/internal/os/IResultReceiver.aidl",
388         "core/java/com/android/internal/os/IShellCallback.aidl",
389         "core/java/com/android/internal/statusbar/IStatusBar.aidl",
390         "core/java/com/android/internal/statusbar/IStatusBarService.aidl",
391         "core/java/com/android/internal/textservice/ISpellCheckerService.aidl",
392         "core/java/com/android/internal/textservice/ISpellCheckerServiceCallback.aidl",
393         "core/java/com/android/internal/textservice/ISpellCheckerSession.aidl",
394         "core/java/com/android/internal/textservice/ISpellCheckerSessionListener.aidl",
395         "core/java/com/android/internal/textservice/ITextServicesManager.aidl",
396         "core/java/com/android/internal/textservice/ITextServicesSessionListener.aidl",
397         "core/java/com/android/internal/view/IDragAndDropPermissions.aidl",
398         "core/java/com/android/internal/view/IInputContext.aidl",
399         "core/java/com/android/internal/view/IInputContextCallback.aidl",
400         "core/java/com/android/internal/view/IInputMethod.aidl",
401         "core/java/com/android/internal/view/IInputMethodClient.aidl",
402         "core/java/com/android/internal/view/IInputMethodManager.aidl",
403         "core/java/com/android/internal/view/IInputMethodSession.aidl",
404         "core/java/com/android/internal/view/IInputSessionCallback.aidl",
405         "core/java/com/android/internal/widget/ICheckCredentialProgressCallback.aidl",
406         "core/java/com/android/internal/widget/ILockSettings.aidl",
407         "core/java/com/android/internal/widget/IRemoteViewsFactory.aidl",
408         "keystore/java/android/security/IKeyChainAliasCallback.aidl",
409         "keystore/java/android/security/IKeyChainService.aidl",
410         "location/java/android/location/IBatchedLocationCallback.aidl",
411         "location/java/android/location/ICountryDetector.aidl",
412         "location/java/android/location/ICountryListener.aidl",
413         "location/java/android/location/IGeocodeProvider.aidl",
414         "location/java/android/location/IGeofenceProvider.aidl",
415         "location/java/android/location/IGnssStatusListener.aidl",
416         "location/java/android/location/IGnssStatusProvider.aidl",
417         "location/java/android/location/IGnssMeasurementsListener.aidl",
418         "location/java/android/location/IGnssNavigationMessageListener.aidl",
419         "location/java/android/location/ILocationListener.aidl",
420         "location/java/android/location/ILocationManager.aidl",
421         "location/java/android/location/IFusedGeofenceHardware.aidl",
422         "location/java/android/location/IGpsGeofenceHardware.aidl",
423         "location/java/android/location/INetInitiatedListener.aidl",
424         "location/java/com/android/internal/location/ILocationProvider.aidl",
425         "media/java/android/media/IAudioFocusDispatcher.aidl",
426         "media/java/android/media/IAudioRoutesObserver.aidl",
427         "media/java/android/media/IAudioService.aidl",
428         "media/java/android/media/IAudioServerStateDispatcher.aidl",
429         "media/java/android/media/IMediaHTTPConnection.aidl",
430         "media/java/android/media/IMediaHTTPService.aidl",
431         "media/java/android/media/IMediaResourceMonitor.aidl",
432         "media/java/android/media/IMediaRouterClient.aidl",
433         "media/java/android/media/IMediaRouterService.aidl",
434         "media/java/android/media/IMediaScannerListener.aidl",
435         "media/java/android/media/IMediaScannerService.aidl",
436         "media/java/android/media/IPlaybackConfigDispatcher.aidl",
437         "media/java/android/media/ISessionTokensListener.aidl",
438         ":libaudioclient_aidl",
439         "media/java/android/media/IRecordingConfigDispatcher.aidl",
440         "media/java/android/media/IRemoteDisplayCallback.aidl",
441         "media/java/android/media/IRemoteDisplayProvider.aidl",
442         "media/java/android/media/IRemoteVolumeController.aidl",
443         "media/java/android/media/IRemoteVolumeObserver.aidl",
444         "media/java/android/media/IRingtonePlayer.aidl",
445         "media/java/android/media/IVolumeController.aidl",
446         "media/java/android/media/audiopolicy/IAudioPolicyCallback.aidl",
447         "media/java/android/media/midi/IBluetoothMidiService.aidl",
448         "media/java/android/media/midi/IMidiDeviceListener.aidl",
449         "media/java/android/media/midi/IMidiDeviceOpenCallback.aidl",
450         "media/java/android/media/midi/IMidiDeviceServer.aidl",
451         "media/java/android/media/midi/IMidiManager.aidl",
452         "media/java/android/media/projection/IMediaProjection.aidl",
453         "media/java/android/media/projection/IMediaProjectionCallback.aidl",
454         "media/java/android/media/projection/IMediaProjectionManager.aidl",
455         "media/java/android/media/projection/IMediaProjectionWatcherCallback.aidl",
456         "media/java/android/media/session/IActiveSessionsListener.aidl",
457         "media/java/android/media/session/ICallback.aidl",
458         "media/java/android/media/session/IOnMediaKeyListener.aidl",
459         "media/java/android/media/session/IOnVolumeKeyLongPressListener.aidl",
460         "media/java/android/media/session/ISession.aidl",
461         "media/java/android/media/session/ISessionCallback.aidl",
462         "media/java/android/media/session/ISessionController.aidl",
463         "media/java/android/media/session/ISessionControllerCallback.aidl",
464         "media/java/android/media/session/ISessionManager.aidl",
465         "media/java/android/media/soundtrigger/ISoundTriggerDetectionService.aidl",
466         "media/java/android/media/soundtrigger/ISoundTriggerDetectionServiceClient.aidl",
467         "media/java/android/media/tv/ITvInputClient.aidl",
468         "media/java/android/media/tv/ITvInputHardware.aidl",
469         "media/java/android/media/tv/ITvInputHardwareCallback.aidl",
470         "media/java/android/media/tv/ITvInputManager.aidl",
471         "media/java/android/media/tv/ITvInputManagerCallback.aidl",
472         "media/java/android/media/tv/ITvInputService.aidl",
473         "media/java/android/media/tv/ITvInputServiceCallback.aidl",
474         "media/java/android/media/tv/ITvInputSession.aidl",
475         "media/java/android/media/tv/ITvInputSessionCallback.aidl",
476         "media/java/android/media/tv/ITvRemoteProvider.aidl",
477         "media/java/android/media/tv/ITvRemoteServiceInput.aidl",
478         "media/java/android/service/media/IMediaBrowserService.aidl",
479         "media/java/android/service/media/IMediaBrowserServiceCallbacks.aidl",
480         "telecomm/java/com/android/internal/telecom/ICallScreeningAdapter.aidl",
481         "telecomm/java/com/android/internal/telecom/ICallScreeningService.aidl",
482         "telecomm/java/com/android/internal/telecom/IVideoCallback.aidl",
483         "telecomm/java/com/android/internal/telecom/IVideoProvider.aidl",
484         "telecomm/java/com/android/internal/telecom/IConnectionService.aidl",
485         "telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl",
486         "telecomm/java/com/android/internal/telecom/IInCallAdapter.aidl",
487         "telecomm/java/com/android/internal/telecom/IInCallService.aidl",
488         "telecomm/java/com/android/internal/telecom/ITelecomService.aidl",
489         "telecomm/java/com/android/internal/telecom/RemoteServiceCallback.aidl",
490         "telephony/java/android/telephony/data/IDataService.aidl",
491         "telephony/java/android/telephony/data/IDataServiceCallback.aidl",
492         "telephony/java/android/telephony/ims/aidl/IImsCallSessionListener.aidl",
493         "telephony/java/android/telephony/ims/aidl/IImsCapabilityCallback.aidl",
494         "telephony/java/android/telephony/ims/aidl/IImsConfig.aidl",
495         "telephony/java/android/telephony/ims/aidl/IImsConfigCallback.aidl",
496         "telephony/java/android/telephony/ims/aidl/IImsMmTelFeature.aidl",
497         "telephony/java/android/telephony/ims/aidl/IImsMmTelListener.aidl",
498         "telephony/java/android/telephony/ims/aidl/IImsRegistration.aidl",
499         "telephony/java/android/telephony/ims/aidl/IImsRegistrationCallback.aidl",
500         "telephony/java/android/telephony/ims/aidl/IImsRcsFeature.aidl",
501         "telephony/java/android/telephony/ims/aidl/IImsServiceController.aidl",
502         "telephony/java/android/telephony/ims/aidl/IImsServiceControllerListener.aidl",
503         "telephony/java/android/telephony/ims/aidl/IImsSmsListener.aidl",
504         "telephony/java/android/telephony/mbms/IMbmsDownloadSessionCallback.aidl",
505         "telephony/java/android/telephony/mbms/IMbmsStreamingSessionCallback.aidl",
506         "telephony/java/android/telephony/mbms/IDownloadStatusListener.aidl",
507         "telephony/java/android/telephony/mbms/IDownloadProgressListener.aidl",
508         "telephony/java/android/telephony/mbms/IStreamingServiceCallback.aidl",
509         "telephony/java/android/telephony/mbms/vendor/IMbmsDownloadService.aidl",
510         "telephony/java/android/telephony/mbms/vendor/IMbmsStreamingService.aidl",
511         "telephony/java/android/telephony/INetworkService.aidl",
512         "telephony/java/android/telephony/INetworkServiceCallback.aidl",
513         "telephony/java/com/android/ims/internal/IImsCallSession.aidl",
514         "telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl",
515         "telephony/java/com/android/ims/internal/IImsConfig.aidl",
516         "telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl",
517         "telephony/java/com/android/ims/internal/IImsEcbm.aidl",
518         "telephony/java/com/android/ims/internal/IImsEcbmListener.aidl",
519         "telephony/java/com/android/ims/internal/IImsExternalCallStateListener.aidl",
520         "telephony/java/com/android/ims/internal/IImsFeatureStatusCallback.aidl",
521         "telephony/java/com/android/ims/internal/IImsMMTelFeature.aidl",
522         "telephony/java/com/android/ims/internal/IImsMultiEndpoint.aidl",
523         "telephony/java/com/android/ims/internal/IImsRcsFeature.aidl",
524         "telephony/java/com/android/ims/internal/IImsService.aidl",
525         "telephony/java/com/android/ims/internal/IImsServiceController.aidl",
526         "telephony/java/com/android/ims/internal/IImsServiceFeatureCallback.aidl",
527         "telephony/java/com/android/ims/internal/IImsStreamMediaSession.aidl",
528         "telephony/java/com/android/ims/internal/IImsUt.aidl",
529         "telephony/java/com/android/ims/internal/IImsUtListener.aidl",
530         "telephony/java/com/android/ims/internal/IImsVideoCallCallback.aidl",
531         "telephony/java/com/android/ims/internal/IImsVideoCallProvider.aidl",
532         "telephony/java/com/android/ims/internal/uce/uceservice/IUceService.aidl",
533         "telephony/java/com/android/ims/internal/uce/uceservice/IUceListener.aidl",
534         "telephony/java/com/android/ims/internal/uce/options/IOptionsService.aidl",
535         "telephony/java/com/android/ims/internal/uce/options/IOptionsListener.aidl",
536         "telephony/java/com/android/ims/internal/uce/presence/IPresenceService.aidl",
537         "telephony/java/com/android/ims/internal/uce/presence/IPresenceListener.aidl",
538         "telephony/java/com/android/ims/ImsConfigListener.aidl",
539         "telephony/java/com/android/internal/telephony/IApnSourceService.aidl",
540         "telephony/java/com/android/internal/telephony/ICarrierConfigLoader.aidl",
541         "telephony/java/com/android/internal/telephony/IMms.aidl",
542         "telephony/java/com/android/internal/telephony/IOnSubscriptionsChangedListener.aidl",
543         "telephony/java/com/android/internal/telephony/IPhoneStateListener.aidl",
544         "telephony/java/com/android/internal/telephony/IPhoneSubInfo.aidl",
545         "telephony/java/com/android/internal/telephony/ISms.aidl",
546         "telephony/java/com/android/internal/telephony/ISub.aidl",
547         "telephony/java/com/android/internal/telephony/ITelephony.aidl",
548         "telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl",
549         "telephony/java/com/android/internal/telephony/IWapPushManager.aidl",
550         "telephony/java/com/android/internal/telephony/euicc/IAuthenticateServerCallback.aidl",
551         "telephony/java/com/android/internal/telephony/euicc/ICancelSessionCallback.aidl",
552         "telephony/java/com/android/internal/telephony/euicc/IDeleteProfileCallback.aidl",
553         "telephony/java/com/android/internal/telephony/euicc/IDisableProfileCallback.aidl",
554         "telephony/java/com/android/internal/telephony/euicc/IEuiccCardController.aidl",
555         "telephony/java/com/android/internal/telephony/euicc/IEuiccController.aidl",
556         "telephony/java/com/android/internal/telephony/euicc/IGetAllProfilesCallback.aidl",
557         "telephony/java/com/android/internal/telephony/euicc/IGetDefaultSmdpAddressCallback.aidl",
558         "telephony/java/com/android/internal/telephony/euicc/IGetEuiccChallengeCallback.aidl",
559         "telephony/java/com/android/internal/telephony/euicc/IGetEuiccInfo1Callback.aidl",
560         "telephony/java/com/android/internal/telephony/euicc/IGetEuiccInfo2Callback.aidl",
561         "telephony/java/com/android/internal/telephony/euicc/IGetProfileCallback.aidl",
562         "telephony/java/com/android/internal/telephony/euicc/IGetRulesAuthTableCallback.aidl",
563         "telephony/java/com/android/internal/telephony/euicc/IGetSmdsAddressCallback.aidl",
564         "telephony/java/com/android/internal/telephony/euicc/IListNotificationsCallback.aidl",
565         "telephony/java/com/android/internal/telephony/euicc/ILoadBoundProfilePackageCallback.aidl",
566         "telephony/java/com/android/internal/telephony/euicc/IPrepareDownloadCallback.aidl",
567         "telephony/java/com/android/internal/telephony/euicc/IRemoveNotificationFromListCallback.aidl",
568         "telephony/java/com/android/internal/telephony/euicc/IResetMemoryCallback.aidl",
569         "telephony/java/com/android/internal/telephony/euicc/IRetrieveNotificationCallback.aidl",
570         "telephony/java/com/android/internal/telephony/euicc/IRetrieveNotificationListCallback.aidl",
571         "telephony/java/com/android/internal/telephony/euicc/ISetDefaultSmdpAddressCallback.aidl",
572         "telephony/java/com/android/internal/telephony/euicc/ISetNicknameCallback.aidl",
573         "telephony/java/com/android/internal/telephony/euicc/ISwitchToProfileCallback.aidl",
574         "wifi/java/android/net/wifi/ISoftApCallback.aidl",
575         "wifi/java/android/net/wifi/IWifiManager.aidl",
576         "wifi/java/android/net/wifi/aware/IWifiAwareDiscoverySessionCallback.aidl",
577         "wifi/java/android/net/wifi/aware/IWifiAwareEventCallback.aidl",
578         "wifi/java/android/net/wifi/aware/IWifiAwareMacAddressProvider.aidl",
579         "wifi/java/android/net/wifi/aware/IWifiAwareManager.aidl",
580         "wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl",
581         "wifi/java/android/net/wifi/rtt/IRttCallback.aidl",
582         "wifi/java/android/net/wifi/rtt/IWifiRttManager.aidl",
583         "wifi/java/android/net/wifi/hotspot2/IProvisioningCallback.aidl",
584         "wifi/java/android/net/wifi/IWifiScanner.aidl",
585         "packages/services/PacProcessor/com/android/net/IProxyService.aidl",
586         "packages/services/Proxy/com/android/net/IProxyCallback.aidl",
587         "packages/services/Proxy/com/android/net/IProxyPortListener.aidl",
588         "core/java/android/service/quicksettings/IQSService.aidl",
589         "core/java/android/service/quicksettings/IQSTileService.aidl",
590
591         ":libupdate_engine_aidl",
592
593         ":storaged_aidl",
594         ":netd_aidl",
595         ":vold_aidl",
596         ":installd_aidl",
597
598         "lowpan/java/android/net/lowpan/ILowpanEnergyScanCallback.aidl",
599         "lowpan/java/android/net/lowpan/ILowpanNetScanCallback.aidl",
600         "lowpan/java/android/net/lowpan/ILowpanInterfaceListener.aidl",
601         "lowpan/java/android/net/lowpan/ILowpanInterface.aidl",
602         "lowpan/java/android/net/lowpan/ILowpanManagerListener.aidl",
603         "lowpan/java/android/net/lowpan/ILowpanManager.aidl",
604
605         "core/java/android/app/admin/SecurityLogTags.logtags",
606         "core/java/android/content/EventLogTags.logtags",
607         "core/java/android/speech/tts/EventLogTags.logtags",
608         "core/java/android/net/EventLogTags.logtags",
609         "core/java/android/os/EventLogTags.logtags",
610         "core/java/android/webkit/EventLogTags.logtags",
611         "core/java/com/android/internal/app/EventLogTags.logtags",
612         "core/java/com/android/internal/logging/EventLogTags.logtags",
613         "core/java/com/android/server/DropboxLogTags.logtags",
614         "core/java/org/chromium/arc/EventLogTags.logtags",
615
616         ":framework-statslog-gen",
617     ],
618
619     aidl: {
620         export_include_dirs: [
621             // From build/make/core/pathmap.mk FRAMEWORK_BASE_SUBDIRS
622             "core/java",
623             "graphics/java",
624             "location/java",
625             "lowpan/java",
626             "media/java",
627             "media/mca/effect/java",
628             "media/mca/filterfw/java",
629             "media/mca/filterpacks/java",
630             "drm/java",
631             "opengl/java",
632             "sax/java",
633             "telecomm/java",
634             "telephony/java",
635             "wifi/java",
636             "keystore/java",
637             "rs/java",
638         ],
639
640         include_dirs: [
641             "system/update_engine/binder_bindings",
642             "frameworks/native/aidl/binder",
643             "frameworks/av/camera/aidl",
644             "frameworks/av/media/libaudioclient/aidl",
645             "frameworks/native/aidl/gui",
646             "system/core/storaged/binder",
647             "system/netd/server/binder",
648             "system/vold/binder",
649             "system/bt/binder",
650             "system/security/keystore/binder",
651         ],
652     },
653
654     exclude_srcs: [
655         // See comment on framework-atb-backward-compatibility module below
656         "core/java/android/content/pm/AndroidTestBaseUpdater.java",
657         // See comment on framework-oahl-backward-compatibility module below
658         "core/java/android/content/pm/OrgApacheHttpLegacyUpdater.java",
659     ],
660
661     no_framework_libs: true,
662     libs: [
663         "conscrypt",
664         "okhttp",
665         "bouncycastle",
666         "ext",
667     ],
668
669     static_libs: [
670         "framework-protos",
671         "android.hidl.base-V1.0-java",
672         "android.hardware.cas-V1.0-java",
673         "android.hardware.contexthub-V1.0-java",
674         "android.hardware.health-V1.0-java-constants",
675         "android.hardware.thermal-V1.0-java-constants",
676         "android.hardware.tv.input-V1.0-java-constants",
677         "android.hardware.usb-V1.0-java-constants",
678         "android.hardware.usb-V1.1-java-constants",
679         "android.hardware.vibrator-V1.0-java",
680         "android.hardware.vibrator-V1.1-java",
681         "android.hardware.vibrator-V1.2-java",
682         "android.hardware.wifi-V1.0-java-constants",
683         "android.hardware.radio-V1.0-java",
684         "android.hardware.usb.gadget-V1.0-java",
685     ],
686
687     // Loaded with System.loadLibrary by android.view.textclassifier
688     required: [
689         "libtextclassifier",
690         "libmedia2_jni",
691     ],
692
693     javac_shard_size: 150,
694
695     dxflags: [
696         "--core-library",
697         "--multi-dex",
698     ],
699 }
700
701 // A temporary build target that is conditionally included on the bootclasspath if
702 // org.apache.http.legacy library has been removed and which provides support for
703 // maintaining backwards compatibility for APKs that target pre-P and depend on
704 // org.apache.http.legacy classes. This is used iff REMOVE_OAHL_FROM_BCP=true is
705 // specified on the build command line.
706 java_library {
707     name: "framework-oahl-backward-compatibility",
708     srcs: [
709         "core/java/android/content/pm/OrgApacheHttpLegacyUpdater.java",
710     ],
711 }
712
713 // A temporary build target that is conditionally included on the bootclasspath if
714 // android.test.base library has been removed and which provides support for
715 // maintaining backwards compatibility for APKs that target pre-P and depend on
716 // android.test.base classes. This is used iff REMOVE_ATB_FROM_BCP=true is
717 // specified on the build command line.
718 java_library {
719     name: "framework-atb-backward-compatibility",
720     srcs: [
721         "core/java/android/content/pm/AndroidTestBaseUpdater.java",
722     ],
723 }
724
725 genrule {
726     name: "framework-statslog-gen",
727     tools: ["stats-log-api-gen"],
728     cmd: "$(location stats-log-api-gen) --java $(out)",
729     out: ["android/util/StatsLogInternal.java"],
730 }
731
732 gensrcs {
733     name: "framework-javastream-protos",
734     depfile: true,
735
736     tools: [
737         "aprotoc",
738         "protoc-gen-javastream",
739         "soong_zip",
740     ],
741
742     cmd: "mkdir -p $(genDir)/$(in) " +
743         "&& $(location aprotoc) " +
744         "  --plugin=$(location protoc-gen-javastream) " +
745         "  --dependency_out=$(depfile) " +
746         "  --javastream_out=$(genDir)/$(in) " +
747         "  -Iexternal/protobuf/src " +
748         "  -I . " +
749         "  $(in) " +
750         "&& $(location soong_zip) -jar -o $(out) -C $(genDir)/$(in) -D $(genDir)/$(in)",
751
752     srcs: [
753         "core/proto/**/*.proto",
754         "libs/incident/**/*.proto",
755     ],
756     output_extension: "srcjar",
757 }
758
759 // Build ext.jar
760 // ============================================================
761 java_library {
762     name: "ext",
763     installable: true,
764     no_framework_libs: true,
765     static_libs: [
766         "libphonenumber-platform",
767         "nist-sip",
768         "tagsoup",
769         "rappor",
770     ],
771     dxflags: ["--core-library"],
772 }
773
774 // ====  c++ proto device library  ==============================
775 cc_library {
776     name: "libplatformprotos",
777     host_supported: true,
778     proto: {
779         export_proto_headers: true,
780         include_dirs: ["external/protobuf/src"],
781     },
782
783     cflags: [
784         "-Wall",
785         "-Werror",
786         "-Wno-unused-parameter",
787     ],
788
789     srcs: [
790         "core/proto/**/*.proto",
791         "libs/incident/**/*.proto",
792     ],
793
794     target: {
795         host: {
796             proto: {
797                 type: "full",
798             },
799         },
800         android: {
801             proto: {
802                 type: "lite",
803             },
804             shared: {
805                 enabled: false,
806             },
807         },
808     },
809 }
810
811 gensrcs {
812     name: "gen-platform-proto-constants",
813     depfile: true,
814
815     tools: [
816         "aprotoc",
817         "protoc-gen-cppstream",
818     ],
819
820     srcs: [
821         "core/proto/android/os/backtrace.proto",
822         "core/proto/android/os/batterytype.proto",
823         "core/proto/android/os/cpufreq.proto",
824         "core/proto/android/os/cpuinfo.proto",
825         "core/proto/android/os/kernelwake.proto",
826         "core/proto/android/os/pagetypeinfo.proto",
827         "core/proto/android/os/procrank.proto",
828         "core/proto/android/os/ps.proto",
829         "core/proto/android/os/system_properties.proto",
830         "core/proto/android/util/event_log_tags.proto",
831     ],
832
833     // Append protoc-gen-cppstream tool's PATH otherwise aprotoc can't find the plugin tool
834     cmd: "mkdir -p $(genDir) " +
835         "&& $(location aprotoc) " +
836         "  --plugin=$(location protoc-gen-cppstream) " +
837         "  --dependency_out=$(depfile) " +
838         "  --cppstream_out=$(genDir) " +
839         "  -Iexternal/protobuf/src " +
840         "  -I . " +
841         "  $(in)",
842
843     output_extension: "proto.h",
844 }
845
846 subdirs = [
847     "cmds/*",
848     "core/*",
849     "libs/*",
850     "media/*",
851     "proto",
852     "tools/*",
853     "native/android",
854     "native/graphics/jni",
855 ]
856
857 optional_subdirs = [
858     "core/tests/utiltests/jni",
859 ]
860
861 // TODO(b/77285514): remove this once the last few hidl interfaces have been
862 // updated to use hwbinder.stubs.
863 java_library {
864     name: "hwbinder",
865     no_framework_libs: true,
866
867     srcs: [
868         "core/java/android/os/HidlSupport.java",
869         "core/java/android/annotation/IntDef.java",
870         "core/java/android/annotation/NonNull.java",
871         "core/java/android/annotation/SystemApi.java",
872         "core/java/android/os/HwBinder.java",
873         "core/java/android/os/HwBlob.java",
874         "core/java/android/os/HwParcel.java",
875         "core/java/android/os/IHwBinder.java",
876         "core/java/android/os/IHwInterface.java",
877         "core/java/android/os/DeadObjectException.java",
878         "core/java/android/os/DeadSystemException.java",
879         "core/java/android/os/RemoteException.java",
880         "core/java/android/util/AndroidException.java",
881     ],
882
883     dxflags: ["--core-library"],
884     installable: false,
885 }
886
887 python_defaults {
888     name: "base_default",
889     version: {
890         py2: {
891             enabled: true,
892             embedded_launcher: true,
893         },
894         py3: {
895             enabled: false,
896             embedded_launcher: false,
897         },
898     },
899 }
900
901 python_binary_host {
902     name: "fontchain_linter",
903     defaults: ["base_default"],
904     main: "tools/fonts/fontchain_linter.py",
905     srcs: [
906         "tools/fonts/fontchain_linter.py",
907     ],
908     libs: [
909         "fontTools",
910     ],
911 }
912
913 // TODO: Don't rely on this list once droiddoc can take a list of packages to document
914 frameworks_base_subdirs = [
915     "core/java",
916     "graphics/java",
917     "location/java",
918     "media/java",
919     "media/mca/effect/java",
920     "media/mca/filterfw/java",
921     "media/mca/filterpacks/java",
922     "drm/java",
923     "opengl/java",
924     "sax/java",
925     "telecomm/java",
926     "telephony/java",
927     "wifi/java",
928     "lowpan/java",
929     "keystore/java",
930     "rs/java",
931 ]
932
933 packages_to_document = [
934     "android",
935     "javax/microedition/khronos",
936     "org/apache/http/conn",
937     "org/apache/http/params",
938 ]
939
940 // The since flag (-since N.xml API_LEVEL) is used to add API Level information
941 // to the reference documentation. Must be in order of oldest to newest.
942 //
943 // Conscrypt (com.android.org.conscrypt) is an implementation detail and should
944 // not be referenced in the documentation.
945 framework_docs_args = "-android -manifest $(location core/res/AndroidManifest.xml) " +
946      "-hidePackage com.android.internal " +
947      "-hidePackage com.android.internal.util " +
948      "-hidePackage com.android.okhttp " +
949      "-hidePackage com.android.org.conscrypt " +
950      "-hidePackage com.android.server " +
951      "-since $(location 1/public/api/android.xml) 1 " +
952      "-since $(location 2/public/api/android.xml) 2 " +
953      "-since $(location 3/public/api/android.xml) 3 " +
954      "-since $(location 4/public/api/android.xml) 4 " +
955      "-since $(location 5/public/api/android.xml) 5 " +
956      "-since $(location 6/public/api/android.xml) 6 " +
957      "-since $(location 7/public/api/android.xml) 7 " +
958      "-since $(location 8/public/api/android.xml) 8 " +
959      "-since $(location 9/public/api/android.xml) 9 " +
960      "-since $(location 10/public/api/android.xml) 10 " +
961      "-since $(location 11/public/api/android.xml) 11 " +
962      "-since $(location 12/public/api/android.xml) 12 " +
963      "-since $(location 13/public/api/android.xml) 13 " +
964      "-since $(location 14/public/api/android.txt) 14 " +
965      "-since $(location 15/public/api/android.txt) 15 " +
966      "-since $(location 16/public/api/android.txt) 16 " +
967      "-since $(location 17/public/api/android.txt) 17 " +
968      "-since $(location 18/public/api/android.txt) 18 " +
969      "-since $(location 19/public/api/android.txt) 19 " +
970      "-since $(location 20/public/api/android.txt) 20 " +
971      "-since $(location 21/public/api/android.txt) 21 " +
972      "-since $(location 22/public/api/android.txt) 22 " +
973      "-since $(location 23/public/api/android.txt) 23 " +
974      "-since $(location 24/public/api/android.txt) 24 " +
975      "-since $(location 25/public/api/android.txt) 25 " +
976      "-since $(location 26/public/api/android.txt) 26 " +
977      "-since $(location 27/public/api/android.txt) 27 " +
978      "-since $(location 28/public/api/android.txt) 28 " +
979      "-werror -lerror -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 " +
980      "-overview $(location core/java/overview.html) " +
981      // Federate Support Library references against local API file.
982      "-federate SupportLib https://developer.android.com " +
983      "-federationapi SupportLib $(location current/support-api.txt) "
984
985 doc_defaults {
986     name: "framework-docs-default",
987     srcs: [
988         ":opt-telephony-srcs",
989         ":opt-net-voip-srcs",
990         ":openjdk_javadoc_files",
991         ":non_openjdk_javadoc_files",
992         ":android_icu4j_src_files_for_docs",
993         ":gen-ojluni-jaif-annotated-srcs",
994     ],
995     exclude_srcs: [
996         ":annotated_ojluni_files",
997     ],
998     srcs_lib: "framework",
999     srcs_lib_whitelist_dirs: frameworks_base_subdirs,
1000     srcs_lib_whitelist_pkgs: packages_to_document,
1001     libs: [
1002         "core-oj",
1003         "core-libart",
1004         "conscrypt",
1005         "bouncycastle",
1006         "okhttp",
1007         "ext",
1008         "framework",
1009         "voip-common",
1010         "android.test.mock",
1011     ],
1012     local_sourcepaths: frameworks_base_subdirs,
1013     html_dirs: [
1014         "docs/html",
1015     ],
1016     knowntags: [
1017         "docs/knowntags.txt",
1018         ":known-oj-tags",
1019     ],
1020     custom_template: "droiddoc-templates-sdk",
1021     hdf: [
1022         "dac true",
1023         "sdk.codename O",
1024         "sdk.preview.version 1",
1025         "sdk.version 7.0",
1026         "sdk.rel.id 1",
1027         "sdk.preview 0",
1028     ],
1029     resourcesdir: "docs/html/reference/images",
1030     resourcesoutdir: "reference/android/images",
1031     installable: false,
1032 }
1033
1034 droiddoc {
1035     name: "api-stubs-docs",
1036     defaults: ["framework-docs-default"],
1037     arg_files: [
1038         "core/res/AndroidManifest.xml",
1039         ":api-version-xml",
1040         "core/java/overview.html",
1041         ":current-support-api",
1042         "api/current.txt",
1043     ],
1044     api_filename: "public_api.txt",
1045     private_api_filename: "private.txt",
1046     removed_api_filename: "removed.txt",
1047     args: framework_docs_args + " -referenceonly -nodocs",
1048     check_api: {
1049         last_released: {
1050             api_file: ":last-released-public-api",
1051             removed_api_file: "api/removed.txt",
1052             args: "-hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 " +
1053                   "-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 " +
1054                   "-error 16 -error 17 -error 18 -error 31",
1055         },
1056         current: {
1057             api_file: "api/current.txt",
1058             removed_api_file: "api/removed.txt",
1059             args: "-error 2 -error 3 -error 4 -error 5 -error 6 " +
1060                   "-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 " +
1061                   "-error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 " +
1062                   "-error 25 -error 26 -error 27",
1063         },
1064     },
1065 }
1066
1067 droiddoc {
1068     name: "system-api-stubs-docs",
1069     defaults: ["framework-docs-default"],
1070     arg_files: [
1071         "core/res/AndroidManifest.xml",
1072         ":api-version-xml",
1073         "core/java/overview.html",
1074         ":current-support-api",
1075         "api/current.txt",
1076     ],
1077     api_tag_name: "SYSTEM",
1078     api_filename: "system-api.txt",
1079     removed_api_filename: "system-removed.txt",
1080     exact_api_filename: "system-exact.txt",
1081     args: framework_docs_args + " -referenceonly -showAnnotation android.annotation.SystemApi -nodocs",
1082     check_api: {
1083         last_released: {
1084             api_file: ":last-released-system-api",
1085             removed_api_file: "api/system-removed.txt",
1086             args: "-hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 " +
1087                   "-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 " +
1088                   "-error 16 -error 17 -error 18 -error 31",
1089         },
1090         current: {
1091             api_file: "api/system-current.txt",
1092             removed_api_file: "api/system-removed.txt",
1093             args: "-error 2 -error 3 -error 4 -error 5 -error 6 " +
1094                   "-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 " +
1095                   "-error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 " +
1096                   "-error 25 -error 26 -error 27",
1097         },
1098     },
1099 }
1100
1101 droiddoc {
1102     name: "test-api-stubs-docs",
1103     defaults: ["framework-docs-default"],
1104     arg_files: [
1105         "core/res/AndroidManifest.xml",
1106         ":api-version-xml",
1107         "core/java/overview.html",
1108         ":current-support-api",
1109         "api/current.txt",
1110     ],
1111     api_tag_name: "TEST",
1112     api_filename: "test-api.txt",
1113     removed_api_filename: "test-removed.txt",
1114     exact_api_filename: "test-exact.txt",
1115     args: framework_docs_args + " -referenceonly -showAnnotation android.annotation.TestApi -nodocs",
1116     check_api: {
1117         current: {
1118             api_file: "api/test-current.txt",
1119             removed_api_file: "api/test-removed.txt",
1120             args: "-error 2 -error 3 -error 4 -error 5 -error 6 " +
1121                   "-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 " +
1122                   "-error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 " +
1123                   "-error 25 -error 26 -error 27",
1124         },
1125     },
1126 }
1127
1128 droiddoc {
1129     name: "hwbinder-stubs-docs",
1130     srcs: [
1131         "core/java/android/os/HidlSupport.java",
1132         "core/java/android/annotation/IntDef.java",
1133         "core/java/android/annotation/NonNull.java",
1134         "core/java/android/annotation/SystemApi.java",
1135         "core/java/android/os/HwBinder.java",
1136         "core/java/android/os/HwBlob.java",
1137         "core/java/android/os/HwParcel.java",
1138         "core/java/android/os/IHwBinder.java",
1139         "core/java/android/os/IHwInterface.java",
1140         "core/java/android/os/DeadObjectException.java",
1141         "core/java/android/os/DeadSystemException.java",
1142         "core/java/android/os/RemoteException.java",
1143         "core/java/android/util/AndroidException.java",
1144     ],
1145     custom_template: "droiddoc-templates-sdk",
1146     installable: false,
1147     no_framework_libs: true,
1148     args: "-showAnnotation android.annotation.SystemApi -nodocs -stubsourceonly",
1149 }
1150
1151 java_library_static {
1152     name: "hwbinder.stubs",
1153     sdk_version: "core_current",
1154     srcs: [
1155         ":hwbinder-stubs-docs",
1156     ],
1157 }
1158
1159 droiddoc {
1160     name: "hiddenapi-lists",
1161     defaults: ["framework-docs-default"],
1162     arg_files: [
1163         "core/res/AndroidManifest.xml",
1164         ":api-version-xml",
1165         "core/java/overview.html",
1166         ":current-support-api",
1167     ],
1168     private_dex_api_filename: "private-dex.txt",
1169     removed_dex_api_filename: "removed-dex.txt",
1170     args: framework_docs_args +
1171           " -referenceonly" +
1172           " -nodocs" +
1173           " -showUnannotated" +
1174           " -showAnnotation android.annotation.SystemApi" +
1175           " -showAnnotation android.annotation.TestApi",
1176 }
1177
1178 filegroup {
1179     name: "apache-http-stubs-sources",
1180     srcs: [
1181         "core/java/org/apache/http/conn/ConnectTimeoutException.java",
1182         "core/java/org/apache/http/conn/scheme/HostNameResolver.java",
1183         "core/java/org/apache/http/conn/scheme/LayeredSocketFactory.java",
1184         "core/java/org/apache/http/conn/scheme/SocketFactory.java",
1185         "core/java/org/apache/http/conn/ssl/AbstractVerifier.java",
1186         "core/java/org/apache/http/conn/ssl/AllowAllHostnameVerifier.java",
1187         "core/java/org/apache/http/conn/ssl/AndroidDistinguishedNameParser.java",
1188         "core/java/org/apache/http/conn/ssl/BrowserCompatHostnameVerifier.java",
1189         "core/java/org/apache/http/conn/ssl/SSLSocketFactory.java",
1190         "core/java/org/apache/http/conn/ssl/StrictHostnameVerifier.java",
1191         "core/java/org/apache/http/conn/ssl/X509HostnameVerifier.java",
1192         "core/java/org/apache/http/params/CoreConnectionPNames.java",
1193         "core/java/org/apache/http/params/HttpConnectionParams.java",
1194         "core/java/org/apache/http/params/HttpParams.java",
1195         "core/java/android/net/http/HttpResponseCache.java",
1196         "core/java/android/net/http/SslCertificate.java",
1197         "core/java/android/net/http/SslError.java",
1198         "core/java/com/android/internal/util/HexDump.java",
1199     ],
1200 }
1201
1202 metalava_framework_docs_args = "--manifest $(location core/res/AndroidManifest.xml) " +
1203     "--hide-package com.android.okhttp " +
1204     "--hide-package com.android.org.conscrypt --hide-package com.android.server " +
1205     "--hide RequiresPermission " +
1206     "--hide MissingPermission --hide BroadcastBehavior " +
1207     "--hide HiddenSuperclass --hide DeprecationMismatch --hide UnavailableSymbol " +
1208     "--hide SdkConstant --hide HiddenTypeParameter --hide Todo --hide Typo"
1209
1210 doc_defaults {
1211     name: "metalava-framework-docs-default",
1212     srcs: [
1213         // test mock src files.
1214         "test-mock/src/android/test/mock/**/*.java",
1215         // test runner excluding mock src files.
1216         "test-runner/src/**/*.java",
1217         "test-base/src/**/*.java",
1218         ":opt-telephony-srcs",
1219         ":opt-net-voip-srcs",
1220         ":openjdk_javadoc_files",
1221         ":non_openjdk_javadoc_files",
1222         ":android_icu4j_src_files_for_docs",
1223         ":gen-ojluni-jaif-annotated-srcs",
1224     ],
1225     exclude_srcs: [
1226         ":annotated_ojluni_files",
1227     ],
1228     srcs_lib: "framework",
1229     srcs_lib_whitelist_dirs: frameworks_base_subdirs,
1230     srcs_lib_whitelist_pkgs: packages_to_document,
1231     libs: [
1232         "core-oj",
1233         "core-libart",
1234         "conscrypt",
1235         "bouncycastle",
1236         "okhttp",
1237         "ext",
1238         "framework",
1239         "voip-common",
1240         "android.test.mock",
1241     ],
1242     local_sourcepaths: frameworks_base_subdirs,
1243     installable: false,
1244     metalava_enabled: true,
1245     metalava_annotations_enabled: true,
1246     metalava_previous_api: ":public-api-for-metalava-annotations",
1247     metalava_merge_annotations_dir: "tools/metalava/manual",
1248 }
1249
1250 droiddoc {
1251     name: "metalava-api-stubs-docs",
1252     defaults: ["metalava-framework-docs-default"],
1253     api_tag_name: "METALAVA_PUBLIC",
1254     api_filename: "public_api.txt",
1255     private_api_filename: "private.txt",
1256     removed_api_filename: "removed.txt",
1257     arg_files: [
1258         "core/res/AndroidManifest.xml",
1259     ],
1260     args: metalava_framework_docs_args,
1261 }
1262
1263 droiddoc {
1264     name: "metalava-system-api-stubs-docs",
1265     defaults: ["metalava-framework-docs-default"],
1266     api_tag_name: "METALAVA_SYSTEM",
1267     api_filename: "system-api.txt",
1268     private_api_filename: "system-private.txt",
1269     private_dex_api_filename: "system-private-dex.txt",
1270     removed_api_filename: "system-removed.txt",
1271     arg_files: [
1272         "core/res/AndroidManifest.xml",
1273     ],
1274     args: metalava_framework_docs_args + " --show-annotation android.annotation.SystemApi",
1275 }
1276
1277 droiddoc {
1278     name: "metalava-test-api-stubs-docs",
1279     defaults: ["metalava-framework-docs-default"],
1280     api_tag_name: "METALAVA_TEST",
1281     api_filename: "test-api.txt",
1282     removed_api_filename: "test-removed.txt",
1283     arg_files: [
1284         "core/res/AndroidManifest.xml",
1285     ],
1286     args: metalava_framework_docs_args + " --show-annotation android.annotation.TestApi",
1287 }