OSDN Git Service

Merge "Added documentation for network registration state"
[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     installable: true,
709     srcs: [
710         "core/java/android/content/pm/OrgApacheHttpLegacyUpdater.java",
711     ],
712 }
713
714 // A temporary build target that is conditionally included on the bootclasspath if
715 // android.test.base library has been removed and which provides support for
716 // maintaining backwards compatibility for APKs that target pre-P and depend on
717 // android.test.base classes. This is used iff REMOVE_ATB_FROM_BCP=true is
718 // specified on the build command line.
719 java_library {
720     name: "framework-atb-backward-compatibility",
721     srcs: [
722         "core/java/android/content/pm/AndroidTestBaseUpdater.java",
723     ],
724 }
725
726 genrule {
727     name: "framework-statslog-gen",
728     tools: ["stats-log-api-gen"],
729     cmd: "$(location stats-log-api-gen) --java $(out)",
730     out: ["android/util/StatsLogInternal.java"],
731 }
732
733 gensrcs {
734     name: "framework-javastream-protos",
735     depfile: true,
736
737     tools: [
738         "aprotoc",
739         "protoc-gen-javastream",
740         "soong_zip",
741     ],
742
743     cmd: "mkdir -p $(genDir)/$(in) " +
744         "&& $(location aprotoc) " +
745         "  --plugin=$(location protoc-gen-javastream) " +
746         "  --dependency_out=$(depfile) " +
747         "  --javastream_out=$(genDir)/$(in) " +
748         "  -Iexternal/protobuf/src " +
749         "  -I . " +
750         "  $(in) " +
751         "&& $(location soong_zip) -jar -o $(out) -C $(genDir)/$(in) -D $(genDir)/$(in)",
752
753     srcs: [
754         "core/proto/**/*.proto",
755         "libs/incident/**/*.proto",
756     ],
757     output_extension: "srcjar",
758 }
759
760 // Build ext.jar
761 // ============================================================
762 java_library {
763     name: "ext",
764     installable: true,
765     no_framework_libs: true,
766     static_libs: [
767         "libphonenumber-platform",
768         "nist-sip",
769         "tagsoup",
770         "rappor",
771     ],
772     dxflags: ["--core-library"],
773 }
774
775 // ====  c++ proto device library  ==============================
776 cc_library {
777     name: "libplatformprotos",
778     host_supported: true,
779     proto: {
780         export_proto_headers: true,
781         include_dirs: ["external/protobuf/src"],
782     },
783
784     cflags: [
785         "-Wall",
786         "-Werror",
787         "-Wno-unused-parameter",
788     ],
789
790     srcs: [
791         "core/proto/**/*.proto",
792         "libs/incident/**/*.proto",
793     ],
794
795     target: {
796         host: {
797             proto: {
798                 type: "full",
799             },
800         },
801         android: {
802             proto: {
803                 type: "lite",
804             },
805             shared: {
806                 enabled: false,
807             },
808         },
809     },
810 }
811
812 gensrcs {
813     name: "gen-platform-proto-constants",
814     depfile: true,
815
816     tools: [
817         "aprotoc",
818         "protoc-gen-cppstream",
819     ],
820
821     srcs: [
822         "core/proto/android/os/backtrace.proto",
823         "core/proto/android/os/batterytype.proto",
824         "core/proto/android/os/cpufreq.proto",
825         "core/proto/android/os/cpuinfo.proto",
826         "core/proto/android/os/kernelwake.proto",
827         "core/proto/android/os/pagetypeinfo.proto",
828         "core/proto/android/os/procrank.proto",
829         "core/proto/android/os/ps.proto",
830         "core/proto/android/os/system_properties.proto",
831         "core/proto/android/util/event_log_tags.proto",
832     ],
833
834     // Append protoc-gen-cppstream tool's PATH otherwise aprotoc can't find the plugin tool
835     cmd: "mkdir -p $(genDir) " +
836         "&& $(location aprotoc) " +
837         "  --plugin=$(location protoc-gen-cppstream) " +
838         "  --dependency_out=$(depfile) " +
839         "  --cppstream_out=$(genDir) " +
840         "  -Iexternal/protobuf/src " +
841         "  -I . " +
842         "  $(in)",
843
844     output_extension: "proto.h",
845 }
846
847 subdirs = [
848     "cmds/*",
849     "core/*",
850     "libs/*",
851     "media/*",
852     "proto",
853     "tools/*",
854     "native/android",
855     "native/graphics/jni",
856 ]
857
858 optional_subdirs = [
859     "core/tests/utiltests/jni",
860 ]
861
862 // TODO(b/77285514): remove this once the last few hidl interfaces have been
863 // updated to use hwbinder.stubs.
864 java_library {
865     name: "hwbinder",
866     no_framework_libs: true,
867
868     srcs: [
869         "core/java/android/os/HidlSupport.java",
870         "core/java/android/annotation/IntDef.java",
871         "core/java/android/annotation/NonNull.java",
872         "core/java/android/annotation/SystemApi.java",
873         "core/java/android/os/HwBinder.java",
874         "core/java/android/os/HwBlob.java",
875         "core/java/android/os/HwParcel.java",
876         "core/java/android/os/IHwBinder.java",
877         "core/java/android/os/IHwInterface.java",
878         "core/java/android/os/DeadObjectException.java",
879         "core/java/android/os/DeadSystemException.java",
880         "core/java/android/os/RemoteException.java",
881         "core/java/android/util/AndroidException.java",
882     ],
883
884     dxflags: ["--core-library"],
885     installable: false,
886 }
887
888 python_defaults {
889     name: "base_default",
890     version: {
891         py2: {
892             enabled: true,
893             embedded_launcher: true,
894         },
895         py3: {
896             enabled: false,
897             embedded_launcher: false,
898         },
899     },
900 }
901
902 python_binary_host {
903     name: "fontchain_linter",
904     defaults: ["base_default"],
905     main: "tools/fonts/fontchain_linter.py",
906     srcs: [
907         "tools/fonts/fontchain_linter.py",
908     ],
909     libs: [
910         "fontTools",
911     ],
912 }
913
914 // TODO: Don't rely on this list once droiddoc can take a list of packages to document
915 frameworks_base_subdirs = [
916     "core/java",
917     "graphics/java",
918     "location/java",
919     "media/java",
920     "media/mca/effect/java",
921     "media/mca/filterfw/java",
922     "media/mca/filterpacks/java",
923     "drm/java",
924     "opengl/java",
925     "sax/java",
926     "telecomm/java",
927     "telephony/java",
928     "wifi/java",
929     "lowpan/java",
930     "keystore/java",
931     "rs/java",
932 ]
933
934 packages_to_document = [
935     "android",
936     "javax/microedition/khronos",
937     "org/apache/http/conn",
938     "org/apache/http/params",
939 ]
940
941 // The since flag (-since N.xml API_LEVEL) is used to add API Level information
942 // to the reference documentation. Must be in order of oldest to newest.
943 //
944 // Conscrypt (com.android.org.conscrypt) is an implementation detail and should
945 // not be referenced in the documentation.
946 framework_docs_args = "-android -manifest $(location core/res/AndroidManifest.xml) " +
947      "-hidePackage com.android.internal " +
948      "-hidePackage com.android.internal.util " +
949      "-hidePackage com.android.okhttp " +
950      "-hidePackage com.android.org.conscrypt " +
951      "-hidePackage com.android.server " +
952      "-since $(location 1/public/api/android.xml) 1 " +
953      "-since $(location 2/public/api/android.xml) 2 " +
954      "-since $(location 3/public/api/android.xml) 3 " +
955      "-since $(location 4/public/api/android.xml) 4 " +
956      "-since $(location 5/public/api/android.xml) 5 " +
957      "-since $(location 6/public/api/android.xml) 6 " +
958      "-since $(location 7/public/api/android.xml) 7 " +
959      "-since $(location 8/public/api/android.xml) 8 " +
960      "-since $(location 9/public/api/android.xml) 9 " +
961      "-since $(location 10/public/api/android.xml) 10 " +
962      "-since $(location 11/public/api/android.xml) 11 " +
963      "-since $(location 12/public/api/android.xml) 12 " +
964      "-since $(location 13/public/api/android.xml) 13 " +
965      "-since $(location 14/public/api/android.txt) 14 " +
966      "-since $(location 15/public/api/android.txt) 15 " +
967      "-since $(location 16/public/api/android.txt) 16 " +
968      "-since $(location 17/public/api/android.txt) 17 " +
969      "-since $(location 18/public/api/android.txt) 18 " +
970      "-since $(location 19/public/api/android.txt) 19 " +
971      "-since $(location 20/public/api/android.txt) 20 " +
972      "-since $(location 21/public/api/android.txt) 21 " +
973      "-since $(location 22/public/api/android.txt) 22 " +
974      "-since $(location 23/public/api/android.txt) 23 " +
975      "-since $(location 24/public/api/android.txt) 24 " +
976      "-since $(location 25/public/api/android.txt) 25 " +
977      "-since $(location 26/public/api/android.txt) 26 " +
978      "-since $(location 27/public/api/android.txt) 27 " +
979      "-since $(location 28/public/api/android.txt) 28 " +
980      "-werror -lerror -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 " +
981      "-overview $(location core/java/overview.html) " +
982      // Federate Support Library references against local API file.
983      "-federate SupportLib https://developer.android.com " +
984      "-federationapi SupportLib $(location current/support-api.txt) "
985
986 doc_defaults {
987     name: "framework-docs-default",
988     srcs: [
989         ":opt-telephony-srcs",
990         ":opt-net-voip-srcs",
991         ":openjdk_javadoc_files",
992         ":non_openjdk_javadoc_files",
993         ":android_icu4j_src_files_for_docs",
994         ":gen-ojluni-jaif-annotated-srcs",
995     ],
996     exclude_srcs: [
997         ":annotated_ojluni_files",
998     ],
999     srcs_lib: "framework",
1000     srcs_lib_whitelist_dirs: frameworks_base_subdirs,
1001     srcs_lib_whitelist_pkgs: packages_to_document,
1002     libs: [
1003         "core-oj",
1004         "core-libart",
1005         "conscrypt",
1006         "bouncycastle",
1007         "okhttp",
1008         "ext",
1009         "framework",
1010         "voip-common",
1011         "android.test.mock",
1012     ],
1013     local_sourcepaths: frameworks_base_subdirs,
1014     html_dirs: [
1015         "docs/html",
1016     ],
1017     knowntags: [
1018         "docs/knowntags.txt",
1019         ":known-oj-tags",
1020     ],
1021     custom_template: "droiddoc-templates-sdk",
1022     hdf: [
1023         "dac true",
1024         "sdk.codename O",
1025         "sdk.preview.version 1",
1026         "sdk.version 7.0",
1027         "sdk.rel.id 1",
1028         "sdk.preview 0",
1029     ],
1030     resourcesdir: "docs/html/reference/images",
1031     resourcesoutdir: "reference/android/images",
1032     installable: false,
1033 }
1034
1035 droiddoc {
1036     name: "api-stubs-docs",
1037     defaults: ["framework-docs-default"],
1038     arg_files: [
1039         "core/res/AndroidManifest.xml",
1040         ":api-version-xml",
1041         "core/java/overview.html",
1042         ":current-support-api",
1043         "api/current.txt",
1044     ],
1045     api_filename: "public_api.txt",
1046     private_api_filename: "private.txt",
1047     removed_api_filename: "removed.txt",
1048     args: framework_docs_args + " -referenceonly -nodocs",
1049     check_api: {
1050         last_released: {
1051             api_file: ":last-released-public-api",
1052             removed_api_file: "api/removed.txt",
1053             args: "-hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 " +
1054                   "-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 " +
1055                   "-error 16 -error 17 -error 18 -error 31",
1056         },
1057         current: {
1058             api_file: "api/current.txt",
1059             removed_api_file: "api/removed.txt",
1060             args: "-error 2 -error 3 -error 4 -error 5 -error 6 " +
1061                   "-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 " +
1062                   "-error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 " +
1063                   "-error 25 -error 26 -error 27",
1064         },
1065     },
1066 }
1067
1068 droiddoc {
1069     name: "system-api-stubs-docs",
1070     defaults: ["framework-docs-default"],
1071     arg_files: [
1072         "core/res/AndroidManifest.xml",
1073         ":api-version-xml",
1074         "core/java/overview.html",
1075         ":current-support-api",
1076         "api/current.txt",
1077     ],
1078     api_tag_name: "SYSTEM",
1079     api_filename: "system-api.txt",
1080     removed_api_filename: "system-removed.txt",
1081     exact_api_filename: "system-exact.txt",
1082     args: framework_docs_args + " -referenceonly -showAnnotation android.annotation.SystemApi -nodocs",
1083     check_api: {
1084         last_released: {
1085             api_file: ":last-released-system-api",
1086             removed_api_file: "api/system-removed.txt",
1087             args: "-hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 " +
1088                   "-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 " +
1089                   "-error 16 -error 17 -error 18 -error 31",
1090         },
1091         current: {
1092             api_file: "api/system-current.txt",
1093             removed_api_file: "api/system-removed.txt",
1094             args: "-error 2 -error 3 -error 4 -error 5 -error 6 " +
1095                   "-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 " +
1096                   "-error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 " +
1097                   "-error 25 -error 26 -error 27",
1098         },
1099     },
1100 }
1101
1102 droiddoc {
1103     name: "test-api-stubs-docs",
1104     defaults: ["framework-docs-default"],
1105     arg_files: [
1106         "core/res/AndroidManifest.xml",
1107         ":api-version-xml",
1108         "core/java/overview.html",
1109         ":current-support-api",
1110         "api/current.txt",
1111     ],
1112     api_tag_name: "TEST",
1113     api_filename: "test-api.txt",
1114     removed_api_filename: "test-removed.txt",
1115     exact_api_filename: "test-exact.txt",
1116     args: framework_docs_args + " -referenceonly -showAnnotation android.annotation.TestApi -nodocs",
1117     check_api: {
1118         current: {
1119             api_file: "api/test-current.txt",
1120             removed_api_file: "api/test-removed.txt",
1121             args: "-error 2 -error 3 -error 4 -error 5 -error 6 " +
1122                   "-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 " +
1123                   "-error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 " +
1124                   "-error 25 -error 26 -error 27",
1125         },
1126     },
1127 }
1128
1129 droiddoc {
1130     name: "hwbinder-stubs-docs",
1131     srcs: [
1132         "core/java/android/os/HidlSupport.java",
1133         "core/java/android/annotation/IntDef.java",
1134         "core/java/android/annotation/NonNull.java",
1135         "core/java/android/annotation/SystemApi.java",
1136         "core/java/android/os/HwBinder.java",
1137         "core/java/android/os/HwBlob.java",
1138         "core/java/android/os/HwParcel.java",
1139         "core/java/android/os/IHwBinder.java",
1140         "core/java/android/os/IHwInterface.java",
1141         "core/java/android/os/DeadObjectException.java",
1142         "core/java/android/os/DeadSystemException.java",
1143         "core/java/android/os/RemoteException.java",
1144         "core/java/android/util/AndroidException.java",
1145     ],
1146     custom_template: "droiddoc-templates-sdk",
1147     installable: false,
1148     no_framework_libs: true,
1149     args: "-showAnnotation android.annotation.SystemApi -nodocs -stubsourceonly",
1150 }
1151
1152 java_library_static {
1153     name: "hwbinder.stubs",
1154     sdk_version: "core_current",
1155     srcs: [
1156         ":hwbinder-stubs-docs",
1157     ],
1158 }
1159
1160 droiddoc {
1161     name: "hiddenapi-lists",
1162     defaults: ["framework-docs-default"],
1163     arg_files: [
1164         "core/res/AndroidManifest.xml",
1165         ":api-version-xml",
1166         "core/java/overview.html",
1167         ":current-support-api",
1168     ],
1169     private_dex_api_filename: "private-dex.txt",
1170     removed_dex_api_filename: "removed-dex.txt",
1171     args: framework_docs_args +
1172           " -referenceonly" +
1173           " -nodocs" +
1174           " -showUnannotated" +
1175           " -showAnnotation android.annotation.SystemApi" +
1176           " -showAnnotation android.annotation.TestApi",
1177 }
1178
1179 droiddoc {
1180     name: "hiddenapi-mappings",
1181     defaults: ["framework-docs-default"],
1182     arg_files: [
1183         "core/res/AndroidManifest.xml",
1184         ":api-version-xml",
1185         "core/java/overview.html",
1186         ":current-support-api",
1187     ],
1188     dex_mapping_filename: "dex-mapping.txt",
1189     args: framework_docs_args +
1190           " -referenceonly" +
1191           " -nodocs" +
1192           " -showUnannotated" +
1193           " -showAnnotation android.annotation.SystemApi" +
1194           " -showAnnotation android.annotation.TestApi",
1195 }
1196
1197 filegroup {
1198     name: "apache-http-stubs-sources",
1199     srcs: [
1200         "core/java/org/apache/http/conn/ConnectTimeoutException.java",
1201         "core/java/org/apache/http/conn/scheme/HostNameResolver.java",
1202         "core/java/org/apache/http/conn/scheme/LayeredSocketFactory.java",
1203         "core/java/org/apache/http/conn/scheme/SocketFactory.java",
1204         "core/java/org/apache/http/conn/ssl/AbstractVerifier.java",
1205         "core/java/org/apache/http/conn/ssl/AllowAllHostnameVerifier.java",
1206         "core/java/org/apache/http/conn/ssl/AndroidDistinguishedNameParser.java",
1207         "core/java/org/apache/http/conn/ssl/BrowserCompatHostnameVerifier.java",
1208         "core/java/org/apache/http/conn/ssl/SSLSocketFactory.java",
1209         "core/java/org/apache/http/conn/ssl/StrictHostnameVerifier.java",
1210         "core/java/org/apache/http/conn/ssl/X509HostnameVerifier.java",
1211         "core/java/org/apache/http/params/CoreConnectionPNames.java",
1212         "core/java/org/apache/http/params/HttpConnectionParams.java",
1213         "core/java/org/apache/http/params/HttpParams.java",
1214         "core/java/android/net/http/HttpResponseCache.java",
1215         "core/java/android/net/http/SslCertificate.java",
1216         "core/java/android/net/http/SslError.java",
1217         "core/java/com/android/internal/util/HexDump.java",
1218     ],
1219 }
1220
1221 metalava_framework_docs_args = "--manifest $(location core/res/AndroidManifest.xml) " +
1222     "--hide-package com.android.okhttp " +
1223     "--hide-package com.android.org.conscrypt --hide-package com.android.server " +
1224     "--hide RequiresPermission " +
1225     "--hide MissingPermission --hide BroadcastBehavior " +
1226     "--hide HiddenSuperclass --hide DeprecationMismatch --hide UnavailableSymbol " +
1227     "--hide SdkConstant --hide HiddenTypeParameter --hide Todo --hide Typo"
1228
1229 doc_defaults {
1230     name: "metalava-framework-docs-default",
1231     srcs: [
1232         // test mock src files.
1233         "test-mock/src/android/test/mock/**/*.java",
1234         // test runner excluding mock src files.
1235         "test-runner/src/**/*.java",
1236         "test-base/src/**/*.java",
1237         ":opt-telephony-srcs",
1238         ":opt-net-voip-srcs",
1239         ":openjdk_javadoc_files",
1240         ":non_openjdk_javadoc_files",
1241         ":android_icu4j_src_files_for_docs",
1242         ":gen-ojluni-jaif-annotated-srcs",
1243     ],
1244     exclude_srcs: [
1245         ":annotated_ojluni_files",
1246     ],
1247     srcs_lib: "framework",
1248     srcs_lib_whitelist_dirs: frameworks_base_subdirs,
1249     srcs_lib_whitelist_pkgs: packages_to_document,
1250     libs: [
1251         "core-oj",
1252         "core-libart",
1253         "conscrypt",
1254         "bouncycastle",
1255         "okhttp",
1256         "ext",
1257         "framework",
1258         "voip-common",
1259         "android.test.mock",
1260     ],
1261     local_sourcepaths: frameworks_base_subdirs,
1262     installable: false,
1263     metalava_enabled: true,
1264     metalava_annotations_enabled: true,
1265     metalava_previous_api: ":public-api-for-metalava-annotations",
1266     metalava_merge_annotations_dir: "tools/metalava/manual",
1267 }
1268
1269 droiddoc {
1270     name: "metalava-api-stubs-docs",
1271     defaults: ["metalava-framework-docs-default"],
1272     api_tag_name: "METALAVA_PUBLIC",
1273     api_filename: "public_api.txt",
1274     private_api_filename: "private.txt",
1275     removed_api_filename: "removed.txt",
1276     arg_files: [
1277         "core/res/AndroidManifest.xml",
1278     ],
1279     args: metalava_framework_docs_args,
1280 }
1281
1282 droiddoc {
1283     name: "metalava-system-api-stubs-docs",
1284     defaults: ["metalava-framework-docs-default"],
1285     api_tag_name: "METALAVA_SYSTEM",
1286     api_filename: "system-api.txt",
1287     private_api_filename: "system-private.txt",
1288     private_dex_api_filename: "system-private-dex.txt",
1289     removed_api_filename: "system-removed.txt",
1290     arg_files: [
1291         "core/res/AndroidManifest.xml",
1292     ],
1293     args: metalava_framework_docs_args + " --show-annotation android.annotation.SystemApi",
1294 }
1295
1296 droiddoc {
1297     name: "metalava-test-api-stubs-docs",
1298     defaults: ["metalava-framework-docs-default"],
1299     api_tag_name: "METALAVA_TEST",
1300     api_filename: "test-api.txt",
1301     removed_api_filename: "test-removed.txt",
1302     arg_files: [
1303         "core/res/AndroidManifest.xml",
1304     ],
1305     args: metalava_framework_docs_args + " --show-annotation android.annotation.TestApi",
1306 }