OSDN Git Service

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