1791 lines
78 KiB
Plaintext
Raw Normal View History

// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Build the master framework library.
// READ ME: ########################################################
//
// When updating this list of aidl files, consider if that aidl is
// part of the SDK API. If it is, also add it to the list in Android.mk
// that is preprocessed and distributed with the SDK. This list should
// not contain any aidl files for parcelables, but the one below should
// if you intend for 3rd parties to be able to send those objects
// across process boundaries.
//
// READ ME: ########################################################
java_defaults {
name: "framework-defaults",
installable: true,
srcs: [
// From build/make/core/pathmap.mk FRAMEWORK_BASE_SUBDIRS
"core/java/**/*.java",
"graphics/java/**/*.java",
"location/java/**/*.java",
"lowpan/java/**/*.java",
"media/java/**/*.java",
"media/mca/effect/java/**/*.java",
"media/mca/filterfw/java/**/*.java",
"media/mca/filterpacks/java/**/*.java",
"drm/java/**/*.java",
"opengl/java/**/*.java",
"sax/java/**/*.java",
"telecomm/java/**/*.java",
"telephony/java/**/*.java",
"wifi/java/**/*.java",
"keystore/java/**/*.java",
"rs/java/**/*.java",
":framework-javastream-protos",
// TODO: Resolve circular library dependency and remove media1-srcs and mediasession2-srcs
":media1-srcs",
":mediasession2-srcs",
"core/java/android/accessibilityservice/IAccessibilityServiceConnection.aidl",
"core/java/android/accessibilityservice/IAccessibilityServiceClient.aidl",
"core/java/android/accounts/IAccountManager.aidl",
"core/java/android/accounts/IAccountManagerResponse.aidl",
"core/java/android/accounts/IAccountAuthenticator.aidl",
"core/java/android/accounts/IAccountAuthenticatorResponse.aidl",
"core/java/android/app/IActivityController.aidl",
"core/java/android/app/IActivityManager.aidl",
"core/java/android/app/IActivityPendingResult.aidl",
"core/java/android/app/IActivityTaskManager.aidl",
"core/java/android/app/IAlarmCompleteListener.aidl",
"core/java/android/app/IAlarmListener.aidl",
"core/java/android/app/IAlarmManager.aidl",
"core/java/android/app/IAppTask.aidl",
"core/java/android/app/IApplicationThread.aidl",
"core/java/android/app/IAssistDataReceiver.aidl",
"core/java/android/app/ITaskStackListener.aidl",
"core/java/android/app/IBackupAgent.aidl",
"core/java/android/app/IEphemeralResolver.aidl",
"core/java/android/app/IInputForwarder.aidl",
"core/java/android/app/IInstantAppResolver.aidl",
"core/java/android/app/IInstrumentationWatcher.aidl",
"core/java/android/app/INotificationManager.aidl",
"core/java/android/app/IProcessObserver.aidl",
"core/java/android/app/ISearchManager.aidl",
"core/java/android/app/ISearchManagerCallback.aidl",
"core/java/android/app/IServiceConnection.aidl",
"core/java/android/app/ISmsAppService.aidl",
"core/java/android/app/IStopUserCallback.aidl",
"core/java/android/app/job/IJobCallback.aidl",
"core/java/android/app/job/IJobScheduler.aidl",
"core/java/android/app/job/IJobService.aidl",
"core/java/android/app/ITransientNotification.aidl",
"core/java/android/app/IUidObserver.aidl",
"core/java/android/app/IUiAutomationConnection.aidl",
"core/java/android/app/IUiModeManager.aidl",
"core/java/android/app/IUriGrantsManager.aidl",
"core/java/android/app/IUserSwitchObserver.aidl",
"core/java/android/app/IWallpaperManager.aidl",
"core/java/android/app/IWallpaperManagerCallback.aidl",
"core/java/android/app/admin/IDeviceAdminService.aidl",
"core/java/android/app/admin/IDevicePolicyManager.aidl",
"core/java/android/app/admin/StartInstallingUpdateCallback.aidl",
"core/java/android/app/trust/IStrongAuthTracker.aidl",
"core/java/android/app/trust/ITrustManager.aidl",
"core/java/android/app/trust/ITrustListener.aidl",
[KV] State machine to linear task w/ RemoteCall This is the first CL of key-value backup refactor. * Method execute() that executed the state machine states is now empty and run() is created with the initial version of the linear task. It's basically composed of begin + loop + end. Although it still has the notion of state, it's more restricted than before (with private methods returning the next state). This is intentional to avoid making this CL too heavy to review and to avoid too much behavioral changes here. In the next CLs I intend to remove BackupState. * Introduction of RemoteCall, which encapsulates an outbound call that leaves the system_server, with time-out and cancellation built-in. Agent calls are now triggered using this. As a result there is no more operationComplete() method either. * Cancellation now is cleaner. We don't need a step lock anymore, only a (volatile) boolean that is checked in every queue iteration. If asked to cancel during an ongoing agent call we rely on RemoteCall.cancel() to return control of the task thread to us. We wait for the cancel acknowledgement to preserve the contract of no more transport calls. * PFTBT instantiation moved from the constructor to the run() method, which makes more sense. * No need for mFinished, mBackupData == null bookkeeping since time-outs, cancellation and legitimate agent responses won't step into one another anymore. * Ternary (mQueue.isEmpty) ? BackupState.FINAL : BackupState.RUNNING_QUEUE gone because we check this in the beginning of invokeNextAgent() and now we don't pay the state-machine tick price associated with the handler. * PerformBackupTask call sites now call static method start(), that spins up a new dedicated thread for the task. This new thread is assigned the same (process) priority as the backup thread (THREAD_PRIORITY_BACKGROUND). Work left for future CLs: * RemoteCall spins up a new thread for kicking off the call, this is for system agents that are executed inline. Old PBT also executed in the same thread (backup handler thread), so maintaining this to keep this CL at a reasonable size. Test: atest PerformBackupTaskTest Test: atest RunFrameworksServicesRoboTests Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/backup Test: atest CtsBackupTestCases Test: atest CtsBackupHostTestCases Test: atest GtsBackupTestCases Test: atest GtsBackupHostTestCases Test: adb shell bmgr backupnow <kv_packages> Test: 1. adb shell bmgr backup <p1> <p2> 2. adb shell bmgr run A) 3. Cancel while sending <p1> data to transport 4. Verify <p1> is backed-up and not pending Verify <p2> is not backed-up and is pending B) 3. Cancel while waiting for <p1> agent 4. Verify <p1> is not backed-up and is pending Verify <p2> is not backed-up and is pending Change-Id: Ia456c4e807de95d662c9e923245be07e8996f58a
2018-06-22 11:47:49 +01:00
"core/java/android/app/backup/IBackupCallback.aidl",
"core/java/android/app/backup/IBackupManager.aidl",
"core/java/android/app/backup/IBackupObserver.aidl",
"core/java/android/app/backup/IBackupManagerMonitor.aidl",
"core/java/android/app/backup/IFullBackupRestoreObserver.aidl",
"core/java/android/app/backup/IRestoreObserver.aidl",
"core/java/android/app/backup/IRestoreSession.aidl",
"core/java/android/app/backup/ISelectBackupTransportCallback.aidl",
"core/java/android/app/contentsuggestions/IClassificationsCallback.aidl",
"core/java/android/app/contentsuggestions/IContentSuggestionsManager.aidl",
"core/java/android/app/contentsuggestions/ISelectionsCallback.aidl",
"core/java/android/app/prediction/IPredictionCallback.aidl",
"core/java/android/app/prediction/IPredictionManager.aidl",
"core/java/android/app/role/IOnRoleHoldersChangedListener.aidl",
"core/java/android/app/role/IRoleManager.aidl",
"core/java/android/app/role/IRoleManagerCallback.aidl",
"core/java/android/app/slice/ISliceManager.aidl",
"core/java/android/app/slice/ISliceListener.aidl",
"core/java/android/app/timedetector/ITimeDetectorService.aidl",
"core/java/android/app/timezone/ICallback.aidl",
"core/java/android/app/timezone/IRulesManager.aidl",
"core/java/android/app/timezonedetector/ITimeZoneDetectorService.aidl",
"core/java/android/app/usage/ICacheQuotaService.aidl",
"core/java/android/app/usage/IStorageStatsManager.aidl",
"core/java/android/app/usage/IUsageStatsManager.aidl",
":libbluetooth-binder-aidl",
"core/java/android/content/IClipboard.aidl",
"core/java/android/content/IContentService.aidl",
"core/java/android/content/IIntentReceiver.aidl",
"core/java/android/content/IIntentSender.aidl",
"core/java/android/content/IOnPrimaryClipChangedListener.aidl",
"core/java/android/content/IRestrictionsManager.aidl",
"core/java/android/content/ISyncAdapter.aidl",
"core/java/android/content/ISyncAdapterUnsyncableAccountCallback.aidl",
"core/java/android/content/ISyncContext.aidl",
"core/java/android/content/ISyncServiceAdapter.aidl",
"core/java/android/content/ISyncStatusObserver.aidl",
"core/java/android/content/om/IOverlayManager.aidl",
"core/java/android/content/pm/ICrossProfileApps.aidl",
"core/java/android/content/pm/IDexModuleRegisterCallback.aidl",
"core/java/android/content/pm/ILauncherApps.aidl",
"core/java/android/content/pm/IOnAppsChangedListener.aidl",
"core/java/android/content/pm/IOnPermissionsChangeListener.aidl",
"core/java/android/content/pm/IOtaDexopt.aidl",
"core/java/android/content/pm/IPackageDataObserver.aidl",
"core/java/android/content/pm/IPackageDeleteObserver.aidl",
"core/java/android/content/pm/IPackageDeleteObserver2.aidl",
"core/java/android/content/pm/IPackageInstallObserver2.aidl",
"core/java/android/content/pm/IPackageInstaller.aidl",
"core/java/android/content/pm/IPackageInstallerCallback.aidl",
"core/java/android/content/pm/IPackageInstallerSession.aidl",
"core/java/android/content/pm/IPackageManager.aidl",
":libbinder_aidl",
"core/java/android/content/pm/IPackageMoveObserver.aidl",
"core/java/android/content/pm/IPackageStatsObserver.aidl",
"core/java/android/content/pm/IPinItemRequest.aidl",
"core/java/android/content/pm/IShortcutService.aidl",
"core/java/android/content/pm/dex/IArtManager.aidl",
"core/java/android/content/pm/dex/ISnapshotRuntimeProfileCallback.aidl",
"core/java/android/content/pm/permission/IRuntimePermissionPresenter.aidl",
"core/java/android/content/rollback/IRollbackManager.aidl",
"core/java/android/database/IContentObserver.aidl",
"core/java/android/debug/IAdbManager.aidl",
"core/java/android/debug/IAdbTransport.aidl",
":libcamera_client_aidl",
":libcamera_client_framework_aidl",
"core/java/android/hardware/IConsumerIrService.aidl",
"core/java/android/hardware/ISerialManager.aidl",
"core/java/android/hardware/biometrics/IBiometricEnabledOnKeyguardCallback.aidl",
"core/java/android/hardware/biometrics/IBiometricService.aidl",
"core/java/android/hardware/biometrics/IBiometricServiceReceiver.aidl",
"core/java/android/hardware/biometrics/IBiometricServiceReceiverInternal.aidl",
"core/java/android/hardware/biometrics/IBiometricServiceLockoutResetCallback.aidl",
"core/java/android/hardware/display/IColorDisplayManager.aidl",
"core/java/android/hardware/display/IDisplayManager.aidl",
"core/java/android/hardware/display/IDisplayManagerCallback.aidl",
"core/java/android/hardware/display/IVirtualDisplayCallback.aidl",
"core/java/android/hardware/fingerprint/IFingerprintClientActiveCallback.aidl",
"core/java/android/hardware/face/IFaceService.aidl",
"core/java/android/hardware/face/IFaceServiceReceiver.aidl",
"core/java/android/hardware/fingerprint/IFingerprintService.aidl",
"core/java/android/hardware/fingerprint/IFingerprintServiceReceiver.aidl",
"core/java/android/hardware/hdmi/IHdmiControlCallback.aidl",
"core/java/android/hardware/hdmi/IHdmiControlService.aidl",
"core/java/android/hardware/hdmi/IHdmiDeviceEventListener.aidl",
"core/java/android/hardware/hdmi/IHdmiHotplugEventListener.aidl",
"core/java/android/hardware/hdmi/IHdmiInputChangeListener.aidl",
"core/java/android/hardware/hdmi/IHdmiMhlVendorCommandListener.aidl",
"core/java/android/hardware/hdmi/IHdmiRecordListener.aidl",
"core/java/android/hardware/hdmi/IHdmiSystemAudioModeChangeListener.aidl",
"core/java/android/hardware/hdmi/IHdmiVendorCommandListener.aidl",
"core/java/android/hardware/input/IInputManager.aidl",
"core/java/android/hardware/input/IInputDevicesChangedListener.aidl",
"core/java/android/hardware/input/ITabletModeChangedListener.aidl",
"core/java/android/hardware/iris/IIrisService.aidl",
"core/java/android/hardware/location/IActivityRecognitionHardware.aidl",
"core/java/android/hardware/location/IActivityRecognitionHardwareClient.aidl",
"core/java/android/hardware/location/IActivityRecognitionHardwareSink.aidl",
"core/java/android/hardware/location/IActivityRecognitionHardwareWatcher.aidl",
"core/java/android/hardware/location/IGeofenceHardware.aidl",
"core/java/android/hardware/location/IGeofenceHardwareCallback.aidl",
"core/java/android/hardware/location/IGeofenceHardwareMonitorCallback.aidl",
"core/java/android/hardware/location/IContextHubCallback.aidl",
"core/java/android/hardware/location/IContextHubClient.aidl",
"core/java/android/hardware/location/IContextHubClientCallback.aidl",
"core/java/android/hardware/location/IContextHubService.aidl",
"core/java/android/hardware/location/IContextHubTransactionCallback.aidl",
"core/java/android/hardware/radio/IAnnouncementListener.aidl",
"core/java/android/hardware/radio/ICloseHandle.aidl",
"core/java/android/hardware/radio/IRadioService.aidl",
"core/java/android/hardware/radio/ITuner.aidl",
"core/java/android/hardware/radio/ITunerCallback.aidl",
"core/java/android/hardware/soundtrigger/IRecognitionStatusCallback.aidl",
"core/java/android/hardware/usb/IUsbManager.aidl",
"core/java/android/hardware/usb/IUsbSerialReader.aidl",
"core/java/android/net/IConnectivityManager.aidl",
"core/java/android/hardware/ISensorPrivacyListener.aidl",
"core/java/android/hardware/ISensorPrivacyManager.aidl",
"core/java/android/net/IIpConnectivityMetrics.aidl",
"core/java/android/net/IEthernetManager.aidl",
"core/java/android/net/IEthernetServiceListener.aidl",
"core/java/android/net/INetdEventCallback.aidl",
"core/java/android/net/IIpSecService.aidl",
"core/java/android/net/INetworkManagementEventObserver.aidl",
"core/java/android/net/INetworkPolicyListener.aidl",
"core/java/android/net/INetworkPolicyManager.aidl",
"core/java/android/net/INetworkRecommendationProvider.aidl",
"core/java/android/net/INetworkScoreCache.aidl",
"core/java/android/net/INetworkScoreService.aidl",
"core/java/android/net/INetworkStatsService.aidl",
"core/java/android/net/INetworkStatsSession.aidl",
"core/java/android/net/ITetheringStatsProvider.aidl",
"core/java/android/net/nsd/INsdManager.aidl",
"core/java/android/nfc/IAppCallback.aidl",
"core/java/android/nfc/INfcAdapter.aidl",
"core/java/android/nfc/INfcAdapterExtras.aidl",
"core/java/android/nfc/INfcTag.aidl",
"core/java/android/nfc/INfcCardEmulation.aidl",
"core/java/android/nfc/INfcFCardEmulation.aidl",
"core/java/android/nfc/INfcUnlockHandler.aidl",
"core/java/android/nfc/INfcDta.aidl",
"core/java/android/nfc/ITagRemovedCallback.aidl",
"core/java/android/se/omapi/ISecureElementService.aidl",
"core/java/android/se/omapi/ISecureElementListener.aidl",
"core/java/android/se/omapi/ISecureElementChannel.aidl",
"core/java/android/se/omapi/ISecureElementReader.aidl",
"core/java/android/se/omapi/ISecureElementSession.aidl",
"core/java/android/os/IBatteryPropertiesRegistrar.aidl",
"core/java/android/os/ICancellationSignal.aidl",
"core/java/android/os/IDeviceIdentifiersPolicyService.aidl",
"core/java/android/os/IDeviceIdleController.aidl",
"core/java/android/os/IHardwarePropertiesManager.aidl",
":libincident_aidl",
"core/java/android/os/IMaintenanceActivityListener.aidl",
"core/java/android/os/IMessenger.aidl",
"core/java/android/os/INetworkActivityListener.aidl",
"core/java/android/os/INetworkManagementService.aidl",
"core/java/android/os/IPermissionController.aidl",
"core/java/android/os/IProcessInfoService.aidl",
"core/java/android/os/IProgressListener.aidl",
"core/java/android/os/IPowerManager.aidl",
"core/java/android/os/IRecoverySystem.aidl",
"core/java/android/os/IRecoverySystemProgressListener.aidl",
"core/java/android/os/IRemoteCallback.aidl",
"core/java/android/os/ISchedulingPolicyService.aidl",
":statsd_aidl",
"core/java/android/os/ISystemUpdateManager.aidl",
"core/java/android/os/IThermalEventListener.aidl",
"core/java/android/os/IThermalStatusListener.aidl",
"core/java/android/os/IThermalService.aidl",
"core/java/android/os/IUpdateLock.aidl",
"core/java/android/os/IUserManager.aidl",
"core/java/android/os/IVibratorService.aidl",
"core/java/android/os/storage/IStorageManager.aidl",
"core/java/android/os/storage/IStorageEventListener.aidl",
"core/java/android/os/storage/IStorageShutdownObserver.aidl",
"core/java/android/os/storage/IObbActionListener.aidl",
"core/java/android/permission/IPermissionController.aidl",
"core/java/android/rolecontrollerservice/IRoleControllerService.aidl",
":keystore_aidl",
"core/java/android/security/keymaster/IKeyAttestationApplicationIdProvider.aidl",
"core/java/android/service/appprediction/IPredictionService.aidl",
"core/java/android/service/autofill/augmented/IAugmentedAutofillService.aidl",
"core/java/android/service/autofill/augmented/IFillCallback.aidl",
"core/java/android/service/autofill/IAutoFillService.aidl",
"core/java/android/service/autofill/IAutofillFieldClassificationService.aidl",
"core/java/android/service/autofill/IFillCallback.aidl",
"core/java/android/service/autofill/ISaveCallback.aidl",
"core/java/android/service/carrier/ICarrierService.aidl",
"core/java/android/service/carrier/ICarrierMessagingCallback.aidl",
"core/java/android/service/carrier/ICarrierMessagingService.aidl",
"core/java/android/service/contentsuggestions/IContentSuggestionsService.aidl",
"core/java/android/service/euicc/IDeleteSubscriptionCallback.aidl",
"core/java/android/service/euicc/IDownloadSubscriptionCallback.aidl",
"core/java/android/service/euicc/IEraseSubscriptionsCallback.aidl",
"core/java/android/service/euicc/IEuiccService.aidl",
"core/java/android/service/euicc/IGetDefaultDownloadableSubscriptionListCallback.aidl",
"core/java/android/service/euicc/IGetDownloadableSubscriptionMetadataCallback.aidl",
"core/java/android/service/euicc/IGetEidCallback.aidl",
"core/java/android/service/euicc/IGetEuiccInfoCallback.aidl",
"core/java/android/service/euicc/IGetEuiccProfileInfoListCallback.aidl",
"core/java/android/service/euicc/IGetOtaStatusCallback.aidl",
"core/java/android/service/euicc/IOtaStatusChangedCallback.aidl",
"core/java/android/service/euicc/IRetainSubscriptionsForFactoryResetCallback.aidl",
"core/java/android/service/euicc/ISwitchToSubscriptionCallback.aidl",
"core/java/android/service/euicc/IUpdateSubscriptionNicknameCallback.aidl",
"core/java/android/service/gatekeeper/IGateKeeperService.aidl",
"core/java/android/service/contentcapture/IContentCaptureService.aidl",
"core/java/android/service/contentcapture/IContentCaptureServiceCallback.aidl",
"core/java/android/service/notification/INotificationListener.aidl",
"core/java/android/service/notification/IStatusBarNotificationHolder.aidl",
"core/java/android/service/notification/IConditionListener.aidl",
"core/java/android/service/notification/IConditionProvider.aidl",
"core/java/android/service/settings/suggestions/ISuggestionService.aidl",
"core/java/android/service/sms/IFinancialSmsService.aidl",
"core/java/android/service/vr/IPersistentVrStateCallbacks.aidl",
"core/java/android/service/vr/IVrListener.aidl",
"core/java/android/service/vr/IVrManager.aidl",
"core/java/android/service/vr/IVrStateCallbacks.aidl",
"core/java/android/print/ILayoutResultCallback.aidl",
"core/java/android/print/IPrinterDiscoveryObserver.aidl",
"core/java/android/print/IPrintDocumentAdapter.aidl",
"core/java/android/print/IPrintDocumentAdapterObserver.aidl",
"core/java/android/print/IPrintJobStateChangeListener.aidl",
"core/java/android/print/IPrintServicesChangeListener.aidl",
"core/java/android/printservice/recommendation/IRecommendationsChangeListener.aidl",
"core/java/android/print/IPrintManager.aidl",
"core/java/android/print/IPrintSpooler.aidl",
"core/java/android/print/IPrintSpoolerCallbacks.aidl",
"core/java/android/print/IPrintSpoolerClient.aidl",
"core/java/android/printservice/recommendation/IRecommendationServiceCallbacks.aidl",
"core/java/android/printservice/recommendation/IRecommendationService.aidl",
"core/java/android/print/IWriteResultCallback.aidl",
"core/java/android/printservice/IPrintService.aidl",
"core/java/android/printservice/IPrintServiceClient.aidl",
"core/java/android/companion/ICompanionDeviceManager.aidl",
"core/java/android/companion/ICompanionDeviceDiscoveryService.aidl",
"core/java/android/companion/ICompanionDeviceDiscoveryServiceCallback.aidl",
"core/java/android/companion/IFindDeviceCallback.aidl",
"core/java/android/service/dreams/IDreamManager.aidl",
"core/java/android/service/dreams/IDreamService.aidl",
"core/java/android/service/oemlock/IOemLockService.aidl",
"core/java/android/service/persistentdata/IPersistentDataBlockService.aidl",
"core/java/android/service/trust/ITrustAgentService.aidl",
"core/java/android/service/trust/ITrustAgentServiceCallback.aidl",
"core/java/android/service/voice/IVoiceInteractionService.aidl",
"core/java/android/service/voice/IVoiceInteractionSession.aidl",
"core/java/android/service/voice/IVoiceInteractionSessionService.aidl",
"core/java/android/service/wallpaper/IWallpaperConnection.aidl",
"core/java/android/service/wallpaper/IWallpaperEngine.aidl",
"core/java/android/service/wallpaper/IWallpaperService.aidl",
"core/java/android/service/chooser/IChooserTargetService.aidl",
"core/java/android/service/chooser/IChooserTargetResult.aidl",
"core/java/android/service/resolver/IResolverRankerService.aidl",
"core/java/android/service/resolver/IResolverRankerResult.aidl",
"core/java/android/service/textclassifier/IConversationActionsCallback.aidl",
"core/java/android/service/textclassifier/ITextClassificationCallback.aidl",
"core/java/android/service/textclassifier/ITextClassifierService.aidl",
"core/java/android/service/textclassifier/ITextLanguageCallback.aidl",
"core/java/android/service/textclassifier/ITextLinksCallback.aidl",
"core/java/android/service/textclassifier/ITextSelectionCallback.aidl",
"core/java/android/service/attention/IAttentionService.aidl",
"core/java/android/service/attention/IAttentionCallback.aidl",
"core/java/android/view/accessibility/IAccessibilityInteractionConnection.aidl",
"core/java/android/view/accessibility/IAccessibilityInteractionConnectionCallback.aidl",
"core/java/android/view/accessibility/IAccessibilityManager.aidl",
"core/java/android/view/accessibility/IAccessibilityManagerClient.aidl",
"core/java/android/view/autofill/IAutoFillManager.aidl",
"core/java/android/view/autofill/IAutoFillManagerClient.aidl",
"core/java/android/view/autofill/IAugmentedAutofillManagerClient.aidl",
"core/java/android/view/autofill/IAutofillWindowPresenter.aidl",
"core/java/android/view/contentcapture/IContentCaptureDirectManager.aidl",
"core/java/android/view/contentcapture/IContentCaptureManager.aidl",
"core/java/android/view/IApplicationToken.aidl",
"core/java/android/view/IAppTransitionAnimationSpecsFuture.aidl",
"core/java/android/view/IDockedStackListener.aidl",
"core/java/android/view/IGraphicsStats.aidl",
"core/java/android/view/IGraphicsStatsCallback.aidl",
"core/java/android/view/IInputFilter.aidl",
"core/java/android/view/IInputFilterHost.aidl",
"core/java/android/view/IOnKeyguardExitResult.aidl",
"core/java/android/view/IPinnedStackController.aidl",
"core/java/android/view/IPinnedStackListener.aidl",
"core/java/android/view/IRemoteAnimationRunner.aidl",
"core/java/android/view/IRecentsAnimationController.aidl",
"core/java/android/view/IRecentsAnimationRunner.aidl",
"core/java/android/view/IRemoteAnimationFinishedCallback.aidl",
"core/java/android/view/IRotationWatcher.aidl",
"core/java/android/view/IWallpaperVisibilityListener.aidl",
"core/java/android/view/IWindow.aidl",
"core/java/android/view/IWindowFocusObserver.aidl",
"core/java/android/view/IWindowId.aidl",
"core/java/android/view/IWindowManager.aidl",
"core/java/android/view/IWindowSession.aidl",
"core/java/android/view/IWindowSessionCallback.aidl",
"core/java/android/webkit/IWebViewUpdateService.aidl",
"core/java/android/speech/IRecognitionListener.aidl",
"core/java/android/speech/IRecognitionService.aidl",
"core/java/android/speech/tts/ITextToSpeechCallback.aidl",
"core/java/android/speech/tts/ITextToSpeechService.aidl",
"core/java/com/android/internal/app/IAppOpsActiveCallback.aidl",
"core/java/com/android/internal/app/IAppOpsCallback.aidl",
"core/java/com/android/internal/app/IAppOpsNotedCallback.aidl",
"core/java/com/android/internal/app/IAppOpsService.aidl",
"core/java/com/android/internal/app/IBatteryStats.aidl",
"core/java/com/android/internal/app/ISoundTriggerService.aidl",
"core/java/com/android/internal/app/IVoiceActionCheckCallback.aidl",
"core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl",
"core/java/com/android/internal/app/IVoiceInteractionSessionListener.aidl",
"core/java/com/android/internal/app/IVoiceInteractionSessionShowCallback.aidl",
"core/java/com/android/internal/app/IVoiceInteractor.aidl",
"core/java/com/android/internal/app/IVoiceInteractorCallback.aidl",
"core/java/com/android/internal/app/IVoiceInteractorRequest.aidl",
"core/java/com/android/internal/app/IMediaContainerService.aidl",
"core/java/com/android/internal/app/procstats/IProcessStats.aidl",
"core/java/com/android/internal/appwidget/IAppWidgetService.aidl",
"core/java/com/android/internal/appwidget/IAppWidgetHost.aidl",
"core/java/com/android/internal/backup/IBackupTransport.aidl",
"core/java/com/android/internal/backup/IObbBackupService.aidl",
"core/java/com/android/internal/inputmethod/IInputContentUriToken.aidl",
Add a new Binder interface to allow IMS to directly talk to IMMS Historically, InputMethodService (IMS) has relied on InputMethodManager's hidden methods to communicate with InputMethodManagerService (IMMS). Because of this, InputMethodManager (IMM) has ended up being a mixture of IPC endpoint for both IME clients and IME itself. There are multiple problems. * IMM is instantiated in almost all user mode processes. This means that unnecessary IPC endpoints have been accessible to them via reflection. Even though those endpoints refuses request without a valid IME window token, and even though we have tighten up use of private APIs in the runtime level, exposing unnecessary IPC endpoints is still questionable. * Mixing multiple responsibilities has been caused unnecessary complexity in IMM. In Bug 70282603, we have moved some APIs from IMM to IMS to sort out this complexity that are surfaced in API boundary, but in the implementation level everything remained to be the same. Now that Bug 70282603 is fixed, the natural next step is to start implementing actual an IPC connection from IMS to IMMS without relying on IMM. Here is the new diagram that describes (most of) IPC interfaces around IMEs. APP---(1)---IMMS \ | \ | \ | \ | \ | (2) (3) \ | \ | \ | \ | \| IME (1): IInputMethodManager.aidl: send requests from APP to IMMS IInputMethodClient.aidl: send requests from IMMS to APP (2): IInputMethodSession.aidl: send requests from APP to IME IInputContext.aidl: send requests from IME to APP -> this is the actual interface behind InputConnection (3): IInputMethod.aidl: send requests from IMMS to IME IInputMethodPrivilegedOperations.aidl: send requests from IME to IMMS IInputMethodPrivilegedOperations.aidl is what this CL is adding. With that, this CL moves 5 IPC methods from IInputMethodManager.aidl (1) to IInputMethodPrivilegedOperations.aidl (3). There remain some IPC methods that are intended to be used only from IMEs in IInputMethodManager.aidl because those methods have been unfortunately exposed via public APIs in InputMethodmanager. Although all of those public APIs were deprecated in Android P as part of Bug 70282603, we still need to keep maintaining those APIs until (most of) IMEs migrate to APIs that are newly introduced in InputMethodService. It would take several years. IInputMethodManager#getInputMethodWindowVisibleHeight() is another method that we cannot migrate right now because some apps have already relied on its corresponding hidden method in IMM, as discussed in Bug 113914148. Fix: 113177698 Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases Change-Id: I2f3ec3c5de546fb3603275a4b64000ed3f863b65
2018-09-06 11:39:50 -07:00
"core/java/com/android/internal/inputmethod/IInputMethodPrivilegedOperations.aidl",
Introduce multi-client IME for special form factors An advanced multi-display support is requested for certain Android form-factors so that user(s) can type text on each display at the same time without losing software keyboard focus in other displays. This is not possible in existing Android IMEs that are built on top of InputMethodService class, because the assumption that a single IME client can be focused at the same time was made before Android IME APIs were introduced in Android 1.5 and many public APIs in InputMethodService have already relied heavily on that assumption. Updating InputMethodService class to support multi-client scenario is, however, quite challenging because: 1. doing so would introduce an unacceptable amount of complexity into InputMethodService, which is already hard to maintain, 2. IME developers still need to update their implementation to be able to support parallel requests from multiple focused IME client, which may require non-trivial redesign in their side (e.g. input decoder, typing history database, ...), and 3. actual use cases for multi IME clients are expected to be evolved rapidly hence the new protocol is not yet stable and not yet ready to be exposed as public APIs. This is why a new type of IME needs to be designed and developed specifically for such special multi-display environments, rather than reusing existing InputMethodService public class. Note that there must be no behavior change unless multi-client IME is explicitly enabled with 'adb shell setprop', which requires root permission. See multi-client-ime.md for details. Fix: 114662040 Test: Manually verified as follows: 1. make -j MultiClientInputMethod 2. adb install -r $OUT/system/priv-app/MultiClientInputMethod/MultiClientInputMethod.apk 3. adb root 4. adb shell setprop persist.debug.multi_client_ime \ com.example.android.multiclientinputmethod/.MultiClientInputMethod 5. adb reboot 6. Try multiple text input scenario Change-Id: I41dfe854557b178d8af740bc2869c936fc88608b
2018-11-12 15:08:30 -08:00
"core/java/com/android/internal/inputmethod/IMultiClientInputMethod.aidl",
"core/java/com/android/internal/inputmethod/IMultiClientInputMethodPrivilegedOperations.aidl",
"core/java/com/android/internal/inputmethod/IMultiClientInputMethodSession.aidl",
"core/java/com/android/internal/net/INetworkWatchlistManager.aidl",
"core/java/com/android/internal/policy/IKeyguardDrawnCallback.aidl",
"core/java/com/android/internal/policy/IKeyguardDismissCallback.aidl",
"core/java/com/android/internal/policy/IKeyguardExitCallback.aidl",
"core/java/com/android/internal/policy/IKeyguardService.aidl",
"core/java/com/android/internal/policy/IKeyguardStateCallback.aidl",
"core/java/com/android/internal/policy/IShortcutService.aidl",
"core/java/com/android/internal/os/IDropBoxManagerService.aidl",
"core/java/com/android/internal/os/IParcelFileDescriptorFactory.aidl",
"core/java/com/android/internal/os/IResultReceiver.aidl",
"core/java/com/android/internal/os/IShellCallback.aidl",
"core/java/com/android/internal/statusbar/IStatusBar.aidl",
"core/java/com/android/internal/statusbar/IStatusBarService.aidl",
"core/java/com/android/internal/textservice/ISpellCheckerService.aidl",
"core/java/com/android/internal/textservice/ISpellCheckerServiceCallback.aidl",
"core/java/com/android/internal/textservice/ISpellCheckerSession.aidl",
"core/java/com/android/internal/textservice/ISpellCheckerSessionListener.aidl",
"core/java/com/android/internal/textservice/ITextServicesManager.aidl",
"core/java/com/android/internal/textservice/ITextServicesSessionListener.aidl",
"core/java/com/android/internal/view/IDragAndDropPermissions.aidl",
"core/java/com/android/internal/view/IInputContext.aidl",
"core/java/com/android/internal/view/IInputContextCallback.aidl",
"core/java/com/android/internal/view/IInputMethod.aidl",
"core/java/com/android/internal/view/IInputMethodClient.aidl",
"core/java/com/android/internal/view/IInputMethodManager.aidl",
"core/java/com/android/internal/view/IInputMethodSession.aidl",
"core/java/com/android/internal/view/IInputSessionCallback.aidl",
"core/java/com/android/internal/widget/ICheckCredentialProgressCallback.aidl",
"core/java/com/android/internal/widget/ILockSettings.aidl",
"core/java/com/android/internal/widget/IRemoteViewsFactory.aidl",
"keystore/java/android/security/IKeyChainAliasCallback.aidl",
"keystore/java/android/security/IKeyChainService.aidl",
"location/java/android/location/IBatchedLocationCallback.aidl",
"location/java/android/location/ICountryDetector.aidl",
"location/java/android/location/ICountryListener.aidl",
"location/java/android/location/IGeocodeProvider.aidl",
"location/java/android/location/IGeofenceProvider.aidl",
"location/java/android/location/IGnssStatusListener.aidl",
"location/java/android/location/IGnssMeasurementsListener.aidl",
"location/java/android/location/IGnssNavigationMessageListener.aidl",
"location/java/android/location/ILocationListener.aidl",
"location/java/android/location/ILocationManager.aidl",
"location/java/android/location/IFusedGeofenceHardware.aidl",
"location/java/android/location/IGpsGeofenceHardware.aidl",
"location/java/android/location/INetInitiatedListener.aidl",
"location/java/com/android/internal/location/ILocationProvider.aidl",
"location/java/com/android/internal/location/ILocationProviderManager.aidl",
"media/java/android/media/IAudioFocusDispatcher.aidl",
"media/java/android/media/IAudioRoutesObserver.aidl",
"media/java/android/media/IAudioService.aidl",
"media/java/android/media/IAudioServerStateDispatcher.aidl",
"media/java/android/media/IMediaHTTPConnection.aidl",
"media/java/android/media/IMediaHTTPService.aidl",
"media/java/android/media/IMediaResourceMonitor.aidl",
"media/java/android/media/IMediaRouterClient.aidl",
"media/java/android/media/IMediaRouterService.aidl",
"media/java/android/media/IMediaScannerListener.aidl",
"media/java/android/media/IMediaScannerService.aidl",
"media/java/android/media/IPlaybackConfigDispatcher.aidl",
":libaudioclient_aidl",
"media/java/android/media/IRecordingConfigDispatcher.aidl",
"media/java/android/media/IRemoteDisplayCallback.aidl",
"media/java/android/media/IRemoteDisplayProvider.aidl",
"media/java/android/media/IRemoteVolumeController.aidl",
"media/java/android/media/IRemoteVolumeObserver.aidl",
"media/java/android/media/IRingtonePlayer.aidl",
"media/java/android/media/IVolumeController.aidl",
"media/java/android/media/audiopolicy/IAudioPolicyCallback.aidl",
"media/java/android/media/midi/IBluetoothMidiService.aidl",
"media/java/android/media/midi/IMidiDeviceListener.aidl",
"media/java/android/media/midi/IMidiDeviceOpenCallback.aidl",
"media/java/android/media/midi/IMidiDeviceServer.aidl",
"media/java/android/media/midi/IMidiManager.aidl",
"media/java/android/media/projection/IMediaProjection.aidl",
"media/java/android/media/projection/IMediaProjectionCallback.aidl",
"media/java/android/media/projection/IMediaProjectionManager.aidl",
"media/java/android/media/projection/IMediaProjectionWatcherCallback.aidl",
"media/java/android/media/session/IActiveSessionsListener.aidl",
"media/java/android/media/session/ICallback.aidl",
"media/java/android/media/session/IOnMediaKeyListener.aidl",
"media/java/android/media/session/IOnVolumeKeyLongPressListener.aidl",
"media/java/android/media/session/ISession2TokensListener.aidl",
"media/java/android/media/session/ISessionManager.aidl",
Add SoundTriggerDetectionService The service is meant to replace the PendingIntent based API. Once all users of the PendingIntent based API switched the PendingIntent based API will be removed. To have as little as possible impact on the whole SoundTrigger framework the RemoteSoundTriggerDetectionService class implements the same interface as the PendingIntent based class. Hence the exising code has very little change. Further once the old code can be removed the amount of changed (and added) code is limited. The RemoteSoundTriggerDetectionService -> SoundTriggerDetectionService is a vanilla as possible service implementation. The special behaviors are: - The system holds a wakelock while service operations are in progress and the service is bound as foreground. Hence the service can e.g. listen to the microphone. - Service operations have a certain amount of time they are allowed to run. Once every operation is either finished or the the operation exceeded the allotted time, the system calls onStopOperation for each still pending operation. This is a similar model as for the commonly used JobService. Please note that if the time allowed for an operation is 15s and op1 was run as 0si, and op1 was run at 5s, the service is allowed to run until 20s. Hence _both_ onStopOperations will happen at 20s. This is done for ease of implementation but should not give the service more power than calling onStopOperation exactly 15s after each operation is triggered. - If an operation is done before the allotted time is reached, the service can declare the operation as finished manually by calling onOperationFinished. This is a call back into the system, hence a 'client' binder is sent to the service. If the operation is finished by calling this method onStopOperation will not be called. - As the service instance might be killed and restored between operations we add a opaque bundle 'params' to each operations. The users of the API can use this to send data from the start command to the operations. It can also just be set to null. The params are not meant to store changing state in between operations. Such state needs to be persisted using the regular methods (e.g. write it to disk) - A service can be used for multiple recognition sessions. Each recognition is uniquelity defined by its sound model UUID. Hence each operation gets at least tree arguments: Operation ID, sound mode UUID, params - As a small optimization the params are cached inside of the service instance. The time allowed for each operation is in a @SystemAPI global setting, so the service can make sure it finishes the operations before they are stopped. It might take some time to deliver the operations via the binder, hence it is not recommended to try to use every last ms of allotted time. Test: atest SoundTriggerDetectionServiceTest (added in separate CL) atest android.provider.SettingsBackupTest Change-Id: I47f813b7a5138a6f24732197813a605d29f85a93 Fixes: 73829108
2018-03-09 16:55:55 -08:00
"media/java/android/media/soundtrigger/ISoundTriggerDetectionService.aidl",
"media/java/android/media/soundtrigger/ISoundTriggerDetectionServiceClient.aidl",
"media/java/android/media/tv/ITvInputClient.aidl",
"media/java/android/media/tv/ITvInputHardware.aidl",
"media/java/android/media/tv/ITvInputHardwareCallback.aidl",
"media/java/android/media/tv/ITvInputManager.aidl",
"media/java/android/media/tv/ITvInputManagerCallback.aidl",
"media/java/android/media/tv/ITvInputService.aidl",
"media/java/android/media/tv/ITvInputServiceCallback.aidl",
"media/java/android/media/tv/ITvInputSession.aidl",
"media/java/android/media/tv/ITvInputSessionCallback.aidl",
"media/java/android/media/tv/ITvRemoteProvider.aidl",
"media/java/android/media/tv/ITvRemoteServiceInput.aidl",
"telecomm/java/com/android/internal/telecom/ICallRedirectionAdapter.aidl",
"telecomm/java/com/android/internal/telecom/ICallRedirectionService.aidl",
"telecomm/java/com/android/internal/telecom/ICallScreeningAdapter.aidl",
"telecomm/java/com/android/internal/telecom/ICallScreeningService.aidl",
"telecomm/java/com/android/internal/telecom/IVideoCallback.aidl",
"telecomm/java/com/android/internal/telecom/IVideoProvider.aidl",
"telecomm/java/com/android/internal/telecom/IConnectionService.aidl",
"telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl",
"telecomm/java/com/android/internal/telecom/IInCallAdapter.aidl",
"telecomm/java/com/android/internal/telecom/IInCallService.aidl",
"telecomm/java/com/android/internal/telecom/IPhoneAccountSuggestionCallback.aidl",
"telecomm/java/com/android/internal/telecom/IPhoneAccountSuggestionService.aidl",
"telecomm/java/com/android/internal/telecom/ITelecomService.aidl",
"telecomm/java/com/android/internal/telecom/RemoteServiceCallback.aidl",
"telephony/java/android/telephony/data/IDataService.aidl",
"telephony/java/android/telephony/data/IDataServiceCallback.aidl",
"telephony/java/android/telephony/data/IQualifiedNetworksService.aidl",
"telephony/java/android/telephony/data/IQualifiedNetworksServiceCallback.aidl",
"telephony/java/android/telephony/ims/aidl/IImsCallSessionListener.aidl",
"telephony/java/android/telephony/ims/aidl/IImsCapabilityCallback.aidl",
"telephony/java/android/telephony/ims/aidl/IImsConfig.aidl",
"telephony/java/android/telephony/ims/aidl/IImsConfigCallback.aidl",
"telephony/java/android/telephony/ims/aidl/IImsMmTelFeature.aidl",
"telephony/java/android/telephony/ims/aidl/IImsMmTelListener.aidl",
"telephony/java/android/telephony/ims/aidl/IImsRegistration.aidl",
"telephony/java/android/telephony/ims/aidl/IImsRegistrationCallback.aidl",
"telephony/java/android/telephony/ims/aidl/IImsRcsFeature.aidl",
"telephony/java/android/telephony/ims/aidl/IImsServiceController.aidl",
"telephony/java/android/telephony/ims/aidl/IImsServiceControllerListener.aidl",
"telephony/java/android/telephony/ims/aidl/IImsSmsListener.aidl",
"telephony/java/android/telephony/ims/aidl/IRcs.aidl",
"telephony/java/android/telephony/mbms/IMbmsDownloadSessionCallback.aidl",
"telephony/java/android/telephony/mbms/IMbmsStreamingSessionCallback.aidl",
"telephony/java/android/telephony/mbms/IMbmsGroupCallSessionCallback.aidl",
"telephony/java/android/telephony/mbms/IDownloadStatusListener.aidl",
"telephony/java/android/telephony/mbms/IDownloadProgressListener.aidl",
"telephony/java/android/telephony/mbms/IStreamingServiceCallback.aidl",
"telephony/java/android/telephony/mbms/IGroupCallCallback.aidl",
"telephony/java/android/telephony/mbms/vendor/IMbmsDownloadService.aidl",
"telephony/java/android/telephony/mbms/vendor/IMbmsStreamingService.aidl",
"telephony/java/android/telephony/mbms/vendor/IMbmsGroupCallService.aidl",
"telephony/java/android/telephony/ICellInfoCallback.aidl",
"telephony/java/android/telephony/INetworkService.aidl",
"telephony/java/android/telephony/INetworkServiceCallback.aidl",
"telephony/java/com/android/ims/internal/IImsCallSession.aidl",
"telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl",
"telephony/java/com/android/ims/internal/IImsConfig.aidl",
"telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl",
"telephony/java/com/android/ims/internal/IImsEcbm.aidl",
"telephony/java/com/android/ims/internal/IImsEcbmListener.aidl",
"telephony/java/com/android/ims/internal/IImsExternalCallStateListener.aidl",
"telephony/java/com/android/ims/internal/IImsFeatureStatusCallback.aidl",
"telephony/java/com/android/ims/internal/IImsMMTelFeature.aidl",
"telephony/java/com/android/ims/internal/IImsMultiEndpoint.aidl",
"telephony/java/com/android/ims/internal/IImsRcsFeature.aidl",
"telephony/java/com/android/ims/internal/IImsService.aidl",
"telephony/java/com/android/ims/internal/IImsServiceController.aidl",
"telephony/java/com/android/ims/internal/IImsServiceFeatureCallback.aidl",
"telephony/java/com/android/ims/internal/IImsStreamMediaSession.aidl",
"telephony/java/com/android/ims/internal/IImsUt.aidl",
"telephony/java/com/android/ims/internal/IImsUtListener.aidl",
"telephony/java/com/android/ims/internal/IImsVideoCallCallback.aidl",
"telephony/java/com/android/ims/internal/IImsVideoCallProvider.aidl",
"telephony/java/com/android/ims/internal/uce/uceservice/IUceService.aidl",
"telephony/java/com/android/ims/internal/uce/uceservice/IUceListener.aidl",
"telephony/java/com/android/ims/internal/uce/options/IOptionsService.aidl",
"telephony/java/com/android/ims/internal/uce/options/IOptionsListener.aidl",
"telephony/java/com/android/ims/internal/uce/presence/IPresenceService.aidl",
"telephony/java/com/android/ims/internal/uce/presence/IPresenceListener.aidl",
"telephony/java/com/android/ims/ImsConfigListener.aidl",
"telephony/java/com/android/internal/telephony/IApnSourceService.aidl",
"telephony/java/com/android/internal/telephony/ICarrierConfigLoader.aidl",
"telephony/java/com/android/internal/telephony/IMms.aidl",
"telephony/java/com/android/internal/telephony/INumberVerificationCallback.aidl",
"telephony/java/com/android/internal/telephony/IOnSubscriptionsChangedListener.aidl",
"telephony/java/com/android/internal/telephony/IPhoneStateListener.aidl",
"telephony/java/com/android/internal/telephony/IPhoneSubInfo.aidl",
"telephony/java/com/android/internal/telephony/ISms.aidl",
"telephony/java/com/android/internal/telephony/ISub.aidl",
"telephony/java/com/android/internal/telephony/IOns.aidl",
"telephony/java/com/android/internal/telephony/ITelephony.aidl",
"telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl",
"telephony/java/com/android/internal/telephony/IWapPushManager.aidl",
"telephony/java/com/android/internal/telephony/euicc/IAuthenticateServerCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/ICancelSessionCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IDeleteProfileCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IDisableProfileCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IEuiccCardController.aidl",
"telephony/java/com/android/internal/telephony/euicc/IEuiccController.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetAllProfilesCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetDefaultSmdpAddressCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetEuiccChallengeCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetEuiccInfo1Callback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetEuiccInfo2Callback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetProfileCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetRulesAuthTableCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetSmdsAddressCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IListNotificationsCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/ILoadBoundProfilePackageCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IPrepareDownloadCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IRemoveNotificationFromListCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IResetMemoryCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IRetrieveNotificationCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IRetrieveNotificationListCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/ISetDefaultSmdpAddressCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/ISetNicknameCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/ISwitchToProfileCallback.aidl",
"wifi/java/android/net/wifi/INetworkRequestMatchCallback.aidl",
"wifi/java/android/net/wifi/INetworkRequestUserSelectionCallback.aidl",
"wifi/java/android/net/wifi/ISoftApCallback.aidl",
"wifi/java/android/net/wifi/ITrafficStateCallback.aidl",
"wifi/java/android/net/wifi/IWifiManager.aidl",
"wifi/java/android/net/wifi/IWifiUsabilityStatsListener.aidl",
"wifi/java/android/net/wifi/aware/IWifiAwareDiscoverySessionCallback.aidl",
"wifi/java/android/net/wifi/aware/IWifiAwareEventCallback.aidl",
"wifi/java/android/net/wifi/aware/IWifiAwareMacAddressProvider.aidl",
"wifi/java/android/net/wifi/aware/IWifiAwareManager.aidl",
"wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl",
"wifi/java/android/net/wifi/rtt/IRttCallback.aidl",
"wifi/java/android/net/wifi/rtt/IWifiRttManager.aidl",
"wifi/java/android/net/wifi/hotspot2/IProvisioningCallback.aidl",
"wifi/java/android/net/wifi/IDppCallback.aidl",
"wifi/java/android/net/wifi/IWifiScanner.aidl",
"packages/services/PacProcessor/com/android/net/IProxyService.aidl",
"packages/services/Proxy/com/android/net/IProxyCallback.aidl",
"packages/services/Proxy/com/android/net/IProxyPortListener.aidl",
"core/java/android/service/quicksettings/IQSService.aidl",
"core/java/android/service/quicksettings/IQSTileService.aidl",
":libupdate_engine_aidl",
":storaged_aidl",
":vold_aidl",
":installd_aidl",
":dumpstate_aidl",
"lowpan/java/android/net/lowpan/ILowpanEnergyScanCallback.aidl",
"lowpan/java/android/net/lowpan/ILowpanNetScanCallback.aidl",
"lowpan/java/android/net/lowpan/ILowpanInterfaceListener.aidl",
"lowpan/java/android/net/lowpan/ILowpanInterface.aidl",
"lowpan/java/android/net/lowpan/ILowpanManagerListener.aidl",
"lowpan/java/android/net/lowpan/ILowpanManager.aidl",
"core/java/android/app/admin/SecurityLogTags.logtags",
"core/java/android/content/EventLogTags.logtags",
"core/java/android/speech/tts/EventLogTags.logtags",
"core/java/android/net/EventLogTags.logtags",
"core/java/android/os/EventLogTags.logtags",
"core/java/android/webkit/EventLogTags.logtags",
"core/java/com/android/internal/app/EventLogTags.logtags",
"core/java/com/android/internal/logging/EventLogTags.logtags",
"core/java/com/android/server/DropboxLogTags.logtags",
"core/java/org/chromium/arc/EventLogTags.logtags",
":platform-properties",
":framework-statslog-gen",
],
aidl: {
export_include_dirs: [
// From build/make/core/pathmap.mk FRAMEWORK_BASE_SUBDIRS
"core/java",
"graphics/java",
"location/java",
"lowpan/java",
"media/java",
"media/apex/java",
"media/mca/effect/java",
"media/mca/filterfw/java",
"media/mca/filterpacks/java",
"drm/java",
"opengl/java",
"sax/java",
"telecomm/java",
"telephony/java",
"wifi/java",
"keystore/java",
"rs/java",
],
include_dirs: [
"system/update_engine/binder_bindings",
"frameworks/native/aidl/binder",
"frameworks/native/cmds/dumpstate/binder",
"frameworks/av/camera/aidl",
"frameworks/av/media/libaudioclient/aidl",
"frameworks/native/aidl/gui",
"system/core/storaged/binder",
"system/vold/binder",
"system/bt/binder",
"system/security/keystore/binder",
],
generate_get_transaction_name: true
},
exclude_srcs: [
Conditionally remove android.test.base from bootclasspath This makes the runtime handling of the android.test.base library conditional based on a build flag REMOVE_ATB_FROM_BCP. When REMOVE_ATB_FROM_BCP=true: * The framework-atb-backward-compatibility is added to the bootclasspath instead of android.test.base. * Any APK that targets pre-P (or has a dependency on android.test.runner) has android.test.base added to their library list. Otherwise: * The android.test.base library is added to the bootclasspath. * Any APK that explicitly specifies that it depends on the android.test.base library has the library removed as the classes are available at runtime. Added android.test.base to platform libraries so it can be used when not on the bootclasspath. Tested both cases by building with or without the build flag, flashing, setting up, adding an account, adding a trusted place. Also, tested that all combinations of REMOVE_ATB_FROM_BCP and REMOVE_OAHL_FROM_BCP work. adb install -r -g out/target/product/marlin/testcases/FrameworksCoreTests/FrameworksCoreTests.apk adb shell am instrument -w -e class android.content.pm.PackageBackwardCompatibilityTest,android.content.pm.AndroidTestRunnerSplitUpdaterTest,android.content.pm.OrgApacheHttpLegacyUpdaterTest,android.content.pm.RemoveUnnecessaryOrgApacheHttpLegacyLibraryTest,android.content.pm.RemoveUnnecessaryAndroidTestBaseLibraryTest,android.content.pm.AndroidTestBaseUpdaterTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner Bug: 30188076 Test: as above Change-Id: I4b9d8a5bed6787cd334c2b13a458bbc0efc3f3b6
2018-01-25 09:58:32 +00:00
// See comment on framework-atb-backward-compatibility module below
"core/java/android/content/pm/AndroidTestBaseUpdater.java",
// See comment on framework-oahl-backward-compatibility module below
"core/java/android/content/pm/OrgApacheHttpLegacyUpdater.java",
],
no_framework_libs: true,
libs: [
"ext",
],
jarjar_rules: ":framework-hidl-jarjar",
static_libs: [
"apex_aidl_interface-java",
"networkstack-aidl-interfaces-java",
"framework-protos",
"game-driver-protos",
"mediaplayer2-protos",
"android.hidl.base-V1.0-java",
"android.hardware.cas-V1.0-java",
"android.hardware.contexthub-V1.0-java",
"android.hardware.health-V1.0-java-constants",
"android.hardware.thermal-V1.0-java-constants",
"android.hardware.thermal-V1.0-java",
"android.hardware.thermal-V1.1-java",
"android.hardware.thermal-V2.0-java",
"android.hardware.tv.input-V1.0-java-constants",
"android.hardware.usb-V1.0-java-constants",
"android.hardware.usb-V1.1-java-constants",
"android.hardware.usb-V1.2-java-constants",
"android.hardware.vibrator-V1.0-java",
"android.hardware.vibrator-V1.1-java",
"android.hardware.vibrator-V1.2-java",
"android.hardware.vibrator-V1.3-java",
"android.hardware.wifi-V1.0-java-constants",
"android.hardware.radio-V1.0-java",
"android.hardware.radio-V1.3-java",
"android.hardware.radio-V1.4-java",
"android.hardware.usb.gadget-V1.0-java",
"networkstack-aidl-interfaces-java",
"netd_aidl_interface-java",
"devicepolicyprotosnano",
],
required: [
// TODO: remove gps_debug when the build system propagates "required" properly.
"gps_debug.conf",
],
dxflags: [
"--core-library",
"--multi-dex",
],
}
filegroup {
name: "libincident_aidl",
srcs: [
"core/java/android/os/IIncidentManager.aidl",
"core/java/android/os/IIncidentReportStatusListener.aidl",
],
}
filegroup {
name: "statsd_aidl",
srcs: [
"core/java/android/os/IStatsCompanionService.aidl",
"core/java/android/os/IStatsManager.aidl",
],
}
filegroup {
name: "framework-hidl-jarjar",
srcs: ["jarjar_rules_hidl.txt"],
}
java_library {
name: "framework",
defaults: ["framework-defaults"],
javac_shard_size: 150,
}
java_library {
name: "framework-annotation-proc",
defaults: ["framework-defaults"],
// Use UsedByApps annotation processor
plugins: ["unsupportedappusage-annotation-processor"],
}
// A host library including just UnsupportedAppUsage.java so that the annotation
// processor can also use this annotation.
java_library_host {
name: "unsupportedappusage-annotation",
srcs: [
"core/java/android/annotation/IntDef.java",
"core/java/android/annotation/UnsupportedAppUsage.java",
],
}
// A temporary build target that is conditionally included on the bootclasspath if
// org.apache.http.legacy library has been removed and which provides support for
// maintaining backwards compatibility for APKs that target pre-P and depend on
// org.apache.http.legacy classes. This is used iff REMOVE_OAHL_FROM_BCP=true is
// specified on the build command line.
java_library {
name: "framework-oahl-backward-compatibility",
installable: true,
srcs: [
"core/java/android/content/pm/OrgApacheHttpLegacyUpdater.java",
],
}
Conditionally remove android.test.base from bootclasspath This makes the runtime handling of the android.test.base library conditional based on a build flag REMOVE_ATB_FROM_BCP. When REMOVE_ATB_FROM_BCP=true: * The framework-atb-backward-compatibility is added to the bootclasspath instead of android.test.base. * Any APK that targets pre-P (or has a dependency on android.test.runner) has android.test.base added to their library list. Otherwise: * The android.test.base library is added to the bootclasspath. * Any APK that explicitly specifies that it depends on the android.test.base library has the library removed as the classes are available at runtime. Added android.test.base to platform libraries so it can be used when not on the bootclasspath. Tested both cases by building with or without the build flag, flashing, setting up, adding an account, adding a trusted place. Also, tested that all combinations of REMOVE_ATB_FROM_BCP and REMOVE_OAHL_FROM_BCP work. adb install -r -g out/target/product/marlin/testcases/FrameworksCoreTests/FrameworksCoreTests.apk adb shell am instrument -w -e class android.content.pm.PackageBackwardCompatibilityTest,android.content.pm.AndroidTestRunnerSplitUpdaterTest,android.content.pm.OrgApacheHttpLegacyUpdaterTest,android.content.pm.RemoveUnnecessaryOrgApacheHttpLegacyLibraryTest,android.content.pm.RemoveUnnecessaryAndroidTestBaseLibraryTest,android.content.pm.AndroidTestBaseUpdaterTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner Bug: 30188076 Test: as above Change-Id: I4b9d8a5bed6787cd334c2b13a458bbc0efc3f3b6
2018-01-25 09:58:32 +00:00
// A temporary build target that is conditionally included on the bootclasspath if
// android.test.base library has been removed and which provides support for
// maintaining backwards compatibility for APKs that target pre-P and depend on
// android.test.base classes. This is used iff REMOVE_ATB_FROM_BCP=true is
// specified on the build command line.
java_library {
name: "framework-atb-backward-compatibility",
srcs: [
"core/java/android/content/pm/AndroidTestBaseUpdater.java",
],
}
genrule {
name: "framework-statslog-gen",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --java $(out)",
out: ["android/util/StatsLogInternal.java"],
}
gensrcs {
name: "framework-javastream-protos",
depfile: true,
tool_files: [ "tools/genprotos.sh", ],
tools: [
"aprotoc",
"protoc-gen-javastream",
"soong_zip",
],
// TODO This should not be needed. If you set a custom OUT_DIR or OUT_DIR_COMMON_BASE you can
// end up with a command that is extremely long, potentially going passed MAX_ARG_STRLEN due to
// the way sbox rewrites the command. See b/70221552.
cmd: "$(location tools/genprotos.sh) " +
" $(location aprotoc) " +
" $(location protoc-gen-javastream) " +
" $(location soong_zip) " +
" $(genDir) " +
" $(depfile) " +
" $(in) " +
" $(out)",
srcs: [
"core/proto/**/*.proto",
"libs/incident/**/*.proto",
],
output_extension: "srcjar",
}
// AIDL interfaces between the core system and the networking mainline module.
aidl_interface {
name: "networkstack-aidl-interfaces",
local_include_dir: "core/java",
srcs: [
"core/java/android/net/ApfCapabilitiesParcelable.aidl",
"core/java/android/net/DhcpResultsParcelable.aidl",
"core/java/android/net/ICaptivePortal.aidl",
"core/java/android/net/INetworkMonitor.aidl",
"core/java/android/net/INetworkMonitorCallbacks.aidl",
"core/java/android/net/IIpMemoryStore.aidl",
"core/java/android/net/INetworkStackConnector.aidl",
"core/java/android/net/INetworkStackStatusCallback.aidl",
"core/java/android/net/InitialConfigurationParcelable.aidl",
"core/java/android/net/IpPrefixParcelable.aidl",
"core/java/android/net/LinkAddressParcelable.aidl",
"core/java/android/net/LinkPropertiesParcelable.aidl",
"core/java/android/net/NetworkParcelable.aidl",
"core/java/android/net/PrivateDnsConfigParcel.aidl",
"core/java/android/net/ProvisioningConfigurationParcelable.aidl",
"core/java/android/net/ProxyInfoParcelable.aidl",
"core/java/android/net/RouteInfoParcelable.aidl",
"core/java/android/net/StaticIpConfigurationParcelable.aidl",
"core/java/android/net/dhcp/DhcpServingParamsParcel.aidl",
"core/java/android/net/dhcp/IDhcpServer.aidl",
"core/java/android/net/dhcp/IDhcpServerCallbacks.aidl",
"core/java/android/net/ip/IIpClient.aidl",
"core/java/android/net/ip/IIpClientCallbacks.aidl",
"core/java/android/net/ipmemorystore/**/*.aidl",
],
api_dir: "aidl/networkstack",
}
// Build ext.jar
// ============================================================
java_library {
name: "ext",
installable: true,
no_framework_libs: true,
static_libs: [
"libphonenumber-platform",
"nist-sip",
"tagsoup",
"rappor",
"libtextclassifier-java",
],
required: [
"libtextclassifier",
],
dxflags: ["--core-library"],
}
// ==== java proto host library ==============================
java_library_host {
name: "platformprotos",
srcs: [
"cmds/am/proto/instrumentation_data.proto",
"cmds/statsd/src/**/*.proto",
"core/proto/**/*.proto",
"libs/incident/proto/**/*.proto",
],
proto: {
include_dirs: ["external/protobuf/src"],
type: "full",
},
errorprone: {
javacflags: ["-Xep:MissingOverride:OFF"], // b/72714520
},
}
// ==== java proto device library (for test only) ==============================
java_library {
name: "platformprotosnano",
proto: {
type: "nano",
output_params: ["store_unknown_fields=true"],
include_dirs: ["external/protobuf/src"],
},
sdk_version: "current",
srcs: [
"core/proto/**/*.proto",
"libs/incident/proto/android/os/**/*.proto",
],
}
// ==== java proto device library (for test only) ==============================
java_library {
name: "platformprotoslite",
proto: {
type: "lite",
include_dirs: ["external/protobuf/src"],
},
srcs: [
"core/proto/**/*.proto",
"libs/incident/proto/android/os/**/*.proto",
],
// Protos have lots of MissingOverride and similar.
errorprone: {
javacflags: ["-XepDisableAllChecks"],
},
}
// ==== c++ proto device library ==============================
cc_library {
name: "libplatformprotos",
host_supported: true,
proto: {
export_proto_headers: true,
include_dirs: ["external/protobuf/src"],
},
cflags: [
"-Wall",
"-Werror",
"-Wno-unused-parameter",
],
srcs: [
"core/proto/**/*.proto",
"libs/incident/**/*.proto",
],
target: {
host: {
proto: {
type: "full",
},
},
android: {
proto: {
type: "lite",
},
shared: {
enabled: false,
},
},
},
}
gensrcs {
name: "gen-platform-proto-constants",
depfile: true,
tools: [
"aprotoc",
"protoc-gen-cppstream",
],
srcs: [
"core/proto/android/os/backtrace.proto",
"core/proto/android/os/batterytype.proto",
"core/proto/android/os/cpufreq.proto",
"core/proto/android/os/cpuinfo.proto",
"core/proto/android/os/data.proto",
"core/proto/android/os/kernelwake.proto",
"core/proto/android/os/pagetypeinfo.proto",
"core/proto/android/os/procrank.proto",
"core/proto/android/os/ps.proto",
"core/proto/android/os/system_properties.proto",
"core/proto/android/util/event_log_tags.proto",
"core/proto/android/util/log.proto",
],
// Append protoc-gen-cppstream tool's PATH otherwise aprotoc can't find the plugin tool
cmd: "mkdir -p $(genDir) " +
"&& $(location aprotoc) " +
" --plugin=$(location protoc-gen-cppstream) " +
" --dependency_out=$(depfile) " +
" --cppstream_out=$(genDir) " +
" -Iexternal/protobuf/src " +
" -I . " +
" $(in)",
output_extension: "proto.h",
}
subdirs = [
"cmds/*",
"core/*",
"libs/*",
"media/*",
"proto",
"tools/*",
"native/android",
"native/graphics/jni",
]
optional_subdirs = [
"core/tests/utiltests/jni",
]
// TODO(b/77285514): remove this once the last few hidl interfaces have been
// updated to use hwbinder.stubs.
java_library {
name: "hwbinder",
no_framework_libs: true,
srcs: [
"core/java/android/os/HidlSupport.java",
"core/java/android/annotation/IntDef.java",
"core/java/android/annotation/NonNull.java",
"core/java/android/annotation/SystemApi.java",
"core/java/android/annotation/TestApi.java",
"core/java/android/os/HwBinder.java",
"core/java/android/os/HwBlob.java",
"core/java/android/os/HwParcel.java",
"core/java/android/os/IHwBinder.java",
"core/java/android/os/IHwInterface.java",
"core/java/android/os/DeadObjectException.java",
"core/java/android/os/DeadSystemException.java",
"core/java/android/os/NativeHandle.java",
"core/java/android/os/RemoteException.java",
"core/java/android/util/AndroidException.java",
],
dxflags: ["--core-library"],
installable: false,
}
python_defaults {
name: "base_default",
version: {
py2: {
enabled: true,
embedded_launcher: true,
},
py3: {
enabled: false,
embedded_launcher: false,
},
},
}
python_binary_host {
name: "fontchain_linter",
defaults: ["base_default"],
main: "tools/fonts/fontchain_linter.py",
srcs: [
"tools/fonts/fontchain_linter.py",
],
libs: [
"fontTools",
],
}
// TODO: Don't rely on this list once droiddoc can take a list of packages to document
frameworks_base_subdirs = [
"core/java",
"graphics/java",
"location/java",
"media/java",
"media/mca/effect/java",
"media/mca/filterfw/java",
"media/mca/filterpacks/java",
"drm/java",
"opengl/java",
"sax/java",
"telecomm/java",
"telephony/java",
"wifi/java",
"lowpan/java",
"keystore/java",
"rs/java",
]
packages_to_document = [
"android",
"javax/microedition/khronos",
"org/apache/http/conn",
"org/apache/http/params",
]
// The since flag (-since N.xml API_LEVEL) is used to add API Level information
// to the reference documentation. Must be in order of oldest to newest.
//
// Conscrypt (com.android.org.conscrypt) is an implementation detail and should
// not be referenced in the documentation.
framework_docs_args = "-android -manifest $(location core/res/AndroidManifest.xml) " +
"-hidePackage com.android.internal " +
"-hidePackage com.android.internal.util " +
"-hidePackage com.android.okhttp " +
"-hidePackage com.android.org.conscrypt " +
"-hidePackage com.android.server " +
"-since $(location 1/public/api/android.xml) 1 " +
"-since $(location 2/public/api/android.xml) 2 " +
"-since $(location 3/public/api/android.xml) 3 " +
"-since $(location 4/public/api/android.xml) 4 " +
"-since $(location 5/public/api/android.xml) 5 " +
"-since $(location 6/public/api/android.xml) 6 " +
"-since $(location 7/public/api/android.xml) 7 " +
"-since $(location 8/public/api/android.xml) 8 " +
"-since $(location 9/public/api/android.xml) 9 " +
"-since $(location 10/public/api/android.xml) 10 " +
"-since $(location 11/public/api/android.xml) 11 " +
"-since $(location 12/public/api/android.xml) 12 " +
"-since $(location 13/public/api/android.xml) 13 " +
"-since $(location 14/public/api/android.txt) 14 " +
"-since $(location 15/public/api/android.txt) 15 " +
"-since $(location 16/public/api/android.txt) 16 " +
"-since $(location 17/public/api/android.txt) 17 " +
"-since $(location 18/public/api/android.txt) 18 " +
"-since $(location 19/public/api/android.txt) 19 " +
"-since $(location 20/public/api/android.txt) 20 " +
"-since $(location 21/public/api/android.txt) 21 " +
"-since $(location 22/public/api/android.txt) 22 " +
"-since $(location 23/public/api/android.txt) 23 " +
"-since $(location 24/public/api/android.txt) 24 " +
"-since $(location 25/public/api/android.txt) 25 " +
"-since $(location 26/public/api/android.txt) 26 " +
"-since $(location 27/public/api/android.txt) 27 " +
"-since $(location 28/public/api/android.txt) 28 " +
"-since $(location api/current.txt) Q " +
"-werror -lerror -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 " +
"-overview $(location core/java/overview.html) " +
// Federate Support Library references against local API file.
"-federate SupportLib https://developer.android.com " +
"-federationapi SupportLib $(location current/support-api.txt) "
framework_docs_only_args = " -android -manifest $(location core/res/AndroidManifest.xml) " +
"-werror -lerror -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 " +
"-overview $(location core/java/overview.html) " +
// Federate Support Library references against local API file.
"-federate SupportLib https://developer.android.com " +
"-federationapi SupportLib $(location current/support-api.txt) "
framework_docs_only_libs = [
"voip-common",
"android.test.mock",
"android-support-annotations",
"android-support-compat",
"android-support-core-ui",
"android-support-core-utils",
"android-support-customtabs",
"android-support-design",
"android-support-dynamic-animation",
"android-support-exifinterface",
"android-support-fragment",
"android-support-media-compat",
"android-support-percent",
"android-support-recommendation",
"android-support-transition",
"android-support-tv-provider",
"android-support-v7-cardview",
"android-support-v7-gridlayout",
"android-support-v7-mediarouter",
"android-support-v7-palette",
"android-support-v7-preference",
"android-support-v13",
"android-support-v14-preference",
"android-support-v17-leanback",
"android-support-v17-preference-leanback",
"android-support-wear",
"android-support-vectordrawable",
"android-support-animatedvectordrawable",
"android-support-v7-appcompat",
"android-support-v7-recyclerview",
"android-support-emoji",
"android-support-emoji-appcompat",
"android-support-emoji-bundled",
"android-support-v8-renderscript",
"android-support-multidex",
"android-support-multidex-instrumentation",
]
metalava_framework_docs_args = "--manifest $(location core/res/AndroidManifest.xml) " +
"--hide-package com.android.okhttp " +
"--hide-package com.android.org.conscrypt --hide-package com.android.server " +
"--error UnhiddenSystemApi " +
"--hide RequiresPermission " +
"--hide MissingPermission --hide BroadcastBehavior " +
"--hide HiddenSuperclass --hide DeprecationMismatch --hide UnavailableSymbol " +
"--hide SdkConstant --hide HiddenTypeParameter --hide Todo --hide Typo"
stubs_defaults {
name: "framework-doc-stubs-default",
srcs: [
"test-base/src/**/*.java",
":opt-telephony-srcs",
":opt-net-voip-srcs",
":openjdk_javadoc_files",
":non_openjdk_javadoc_files",
":android_icu4j_src_files_for_docs",
":conscrypt_public_api_files",
":media-srcs-without-aidls",
"test-mock/src/**/*.java",
"test-runner/src/**/*.java",
],
srcs_lib: "framework",
srcs_lib_whitelist_dirs: frameworks_base_subdirs,
srcs_lib_whitelist_pkgs: packages_to_document,
libs: framework_docs_only_libs,
local_sourcepaths: frameworks_base_subdirs,
create_doc_stubs: true,
annotations_enabled: true,
api_levels_annotations_enabled: true,
api_levels_annotations_dirs: [
"sdk-dir",
"api-versions-jars-dir",
],
previous_api: ":last-released-public-api",
merge_annotations_dirs: [
"metalava-manual",
"ojluni-annotated-sdk-stubs",
],
}
doc_defaults {
name: "framework-docs-default",
libs: framework_docs_only_libs +
["stub-annotations"],
html_dirs: [
"docs/html",
],
knowntags: [
"docs/knowntags.txt",
":known-oj-tags",
],
custom_template: "droiddoc-templates-sdk",
resourcesdir: "docs/html/reference/images/",
resourcesoutdir: "reference/android/images/",
hdf: [
"dac true",
"sdk.codename O",
"sdk.preview.version 1",
"sdk.version 7.0",
"sdk.rel.id 1",
"sdk.preview 0",
],
arg_files: [
"core/res/AndroidManifest.xml",
"core/java/overview.html",
":current-support-api",
],
create_stubs: false,
}
stubs_defaults {
name: "metalava-api-stubs-default",
srcs: [
":opt-telephony-srcs",
":opt-net-voip-srcs",
":openjdk_javadoc_files",
":non_openjdk_javadoc_files",
":android_icu4j_src_files_for_docs",
":conscrypt_public_api_files",
":media-srcs-without-aidls",
],
srcs_lib: "framework",
srcs_lib_whitelist_dirs: frameworks_base_subdirs,
srcs_lib_whitelist_pkgs: packages_to_document,
libs: [
"ext",
"framework",
"voip-common",
],
local_sourcepaths: frameworks_base_subdirs,
installable: false,
annotations_enabled: true,
previous_api: ":last-released-public-api",
merge_annotations_dirs: [
"metalava-manual",
"ojluni-annotated-sdk-stubs",
],
api_levels_annotations_enabled: true,
api_levels_annotations_dirs: [
"sdk-dir",
"api-versions-jars-dir",
],
}
droidstubs {
name: "framework-doc-stubs",
defaults: ["framework-doc-stubs-default"],
arg_files: [
"core/res/AndroidManifest.xml",
],
args: metalava_framework_docs_args,
}
droidstubs {
name: "framework-doc-system-stubs",
defaults: ["framework-doc-stubs-default"],
arg_files: [
"core/res/AndroidManifest.xml",
],
args: metalava_framework_docs_args + " --show-annotation android.annotation.SystemApi ",
}
droiddoc {
name: "doc-comment-check-docs",
defaults: ["framework-docs-default"],
srcs: [
":framework-doc-stubs",
],
args: framework_docs_only_args + " -referenceonly -parsecomments",
installable: false,
}
droiddoc {
name: "offline-sdk-docs",
defaults: ["framework-docs-default"],
srcs: [
":framework-doc-stubs",
],
hdf: [
"android.whichdoc offline",
],
proofread_file: "offline-sdk-docs-proofrerad.txt",
args: framework_docs_only_args + " -offlinemode -title \"Android SDK\"",
write_sdk_values: true,
static_doc_index_redirect: "docs/docs-preview-index.html",
}
droiddoc {
// Please sync with android-api-council@ before making any changes for the name property below.
// Since there's cron jobs that fetch offline-sdk-referenceonly-docs-docs.zip periodically.
// See b/116221385 for reference.
name: "offline-sdk-referenceonly-docs",
defaults: ["framework-docs-default"],
srcs: [
":framework-doc-stubs",
],
hdf: [
"android.whichdoc offline",
],
proofread_file: "offline-sdk-referenceonly-docs-proofrerad.txt",
args: framework_docs_only_args + " -offlinemode -title \"Android SDK\" -referenceonly",
write_sdk_values: true,
static_doc_index_redirect: "docs/docs-documentation-redirect.html",
static_doc_properties: "docs/source.properties",
}
droiddoc {
// Please sync with android-api-council@ before making any changes for the name property below.
// Since there's cron jobs that fetch offline-system-sdk-referenceonly-docs-docs.zip periodically.
// See b/116221385 for reference.
name: "offline-system-sdk-referenceonly-docs",
defaults: ["framework-docs-default"],
srcs: [
":framework-doc-system-stubs",
],
hdf: [
"android.whichdoc offline",
],
proofread_file: "offline-system-sdk-referenceonly-docs-proofrerad.txt",
args: framework_docs_only_args + " -hide 101 -hide 104 -hide 108" +
" -offlinemode -title \"Android System SDK\" -referenceonly",
write_sdk_values: true,
static_doc_index_redirect: "docs/docs-documentation-redirect.html",
static_doc_properties: "docs/source.properties",
}
droiddoc {
name: "online-sdk-docs",
defaults: ["framework-docs-default"],
srcs: [
":framework-doc-stubs",
],
hdf: [
"android.whichdoc online",
"android.hasSamples true",
],
proofread_file: "online-sdk-docs-proofrerad.txt",
args: framework_docs_only_args +
" -toroot / -samplegroup Admin " +
" -samplegroup Background " +
" -samplegroup Connectivity " +
" -samplegroup Content " +
" -samplegroup Input " +
" -samplegroup Media " +
" -samplegroup Notification " +
" -samplegroup RenderScript " +
" -samplegroup Security " +
" -samplegroup Sensors " +
" -samplegroup System " +
" -samplegroup Testing " +
" -samplegroup UI " +
" -samplegroup Views " +
" -samplegroup Wearable -samplesdir development/samples/browseable ",
}
droiddoc {
name: "online-system-api-sdk-docs",
defaults: ["framework-docs-default"],
srcs: [
":framework-doc-system-stubs",
],
hdf: [
"android.whichdoc online",
"android.hasSamples true",
],
proofread_file: "online-system-api-sdk-docs-proofrerad.txt",
args: framework_docs_only_args +
" -referenceonly " +
" -title \"Android SDK - Including system APIs.\" " +
" -hide 101 " +
" -hide 104 " +
" -hide 108 " +
" -toroot / -samplegroup Admin " +
" -samplegroup Background " +
" -samplegroup Connectivity " +
" -samplegroup Content " +
" -samplegroup Input " +
" -samplegroup Media " +
" -samplegroup Notification " +
" -samplegroup RenderScript " +
" -samplegroup Security " +
" -samplegroup Sensors " +
" -samplegroup System " +
" -samplegroup Testing " +
" -samplegroup UI " +
" -samplegroup Views " +
" -samplegroup Wearable -samplesdir development/samples/browseable ",
installable: false,
}
droiddoc {
name: "ds-docs",
defaults: ["framework-docs-default"],
srcs: [
":framework-doc-stubs",
],
hdf: [
"android.whichdoc online",
"android.hasSamples true",
],
proofread_file: "ds-docs-proofrerad.txt",
args: framework_docs_only_args +
" -toroot / -samplegroup Admin " +
" -samplegroup Background " +
" -samplegroup Connectivity " +
" -samplegroup Content " +
" -samplegroup Input " +
" -samplegroup Media " +
" -samplegroup Notification " +
" -samplegroup RenderScript " +
" -samplegroup Security " +
" -samplegroup Sensors " +
" -samplegroup System " +
" -samplegroup Testing " +
" -samplegroup UI " +
" -samplegroup Views " +
" -samplegroup Wearable -devsite -samplesdir development/samples/browseable ",
}
droiddoc {
name: "ds-static-docs",
defaults: ["framework-docs-default"],
srcs: [
":framework-doc-stubs",
],
hdf: [
"android.whichdoc online",
],
proofread_file: "ds-static-docs-proofrerad.txt",
args: framework_docs_only_args +
" -staticonly " +
" -toroot / " +
" -devsite " +
" -ignoreJdLinks ",
}
droiddoc {
name: "ds-ref-navtree-docs",
defaults: ["framework-docs-default"],
srcs: [
":framework-doc-stubs",
],
hdf: [
"android.whichdoc online",
],
proofread_file: "ds-ref-navtree-docs-proofrerad.txt",
args: framework_docs_only_args +
" -toroot / " +
" -atLinksNavtree " +
" -navtreeonly ",
}
droiddoc {
name: "online-sdk-dev-docs",
defaults: ["framework-docs-default"],
srcs: [
":framework-doc-stubs",
],
hdf: [
"android.whichdoc online",
"android.hasSamples true",
],
proofread_file: "online-sdk-dev-docs-proofrerad.txt",
args: framework_docs_only_args +
" -toroot / -samplegroup Admin " +
" -samplegroup Background " +
" -samplegroup Connectivity " +
" -samplegroup Content " +
" -samplegroup Input " +
" -samplegroup Media " +
" -samplegroup Notification " +
" -samplegroup RenderScript " +
" -samplegroup Security " +
" -samplegroup Sensors " +
" -samplegroup System " +
" -samplegroup Testing " +
" -samplegroup UI " +
" -samplegroup Views " +
" -samplegroup Wearable -samplesdir development/samples/browseable ",
}
droiddoc {
name: "hidden-docs",
defaults: ["framework-docs-default"],
srcs: [
":framework-doc-stubs",
],
proofread_file: "hidden-docs-proofrerad.txt",
args: framework_docs_only_args +
" -referenceonly " +
" -title \"Android SDK - Including hidden APIs.\"",
}
droidstubs {
name: "hwbinder-stubs-docs",
srcs: [
"core/java/android/os/HidlSupport.java",
"core/java/android/annotation/IntDef.java",
"core/java/android/annotation/NonNull.java",
"core/java/android/annotation/SystemApi.java",
"core/java/android/os/HwBinder.java",
"core/java/android/os/HwBlob.java",
"core/java/android/os/HwParcel.java",
"core/java/android/os/IHwBinder.java",
"core/java/android/os/IHwInterface.java",
"core/java/android/os/DeadObjectException.java",
"core/java/android/os/DeadSystemException.java",
"core/java/android/os/NativeHandle.java",
"core/java/android/os/RemoteException.java",
"core/java/android/util/AndroidException.java",
],
installable: false,
no_framework_libs: true,
annotations_enabled: true,
previous_api: ":last-released-public-api",
merge_annotations_dirs: [
"metalava-manual",
"ojluni-annotated-sdk-stubs",
],
args: " --show-annotation android.annotation.SystemApi",
}
java_library_static {
name: "hwbinder.stubs",
sdk_version: "core_current",
srcs: [
":hwbinder-stubs-docs",
],
}
droidstubs {
name: "hiddenapi-lists-docs",
defaults: ["metalava-api-stubs-default"],
arg_files: [
"core/res/AndroidManifest.xml",
],
dex_api_filename: "public-dex.txt",
private_dex_api_filename: "private-dex.txt",
removed_dex_api_filename: "removed-dex.txt",
args: metalava_framework_docs_args +
" --show-unannotated " +
" --show-annotation android.annotation.SystemApi " +
" --show-annotation android.annotation.TestApi "
}
droidstubs {
name: "hiddenapi-mappings",
defaults: ["metalava-api-stubs-default"],
srcs: [
":openjdk_java_files",
":non_openjdk_java_files",
],
arg_files: [
"core/res/AndroidManifest.xml",
],
dex_mapping_filename: "dex-mapping.txt",
args: metalava_framework_docs_args +
" --hide ReferencesHidden " +
" --hide UnhiddenSystemApi " +
" --show-unannotated " +
" --show-annotation android.annotation.SystemApi " +
" --show-annotation android.annotation.TestApi "
}
filegroup {
name: "apache-http-stubs-sources",
srcs: [
"core/java/org/apache/http/conn/ConnectTimeoutException.java",
"core/java/org/apache/http/conn/scheme/HostNameResolver.java",
"core/java/org/apache/http/conn/scheme/LayeredSocketFactory.java",
"core/java/org/apache/http/conn/scheme/SocketFactory.java",
"core/java/org/apache/http/conn/ssl/AbstractVerifier.java",
"core/java/org/apache/http/conn/ssl/AllowAllHostnameVerifier.java",
"core/java/org/apache/http/conn/ssl/AndroidDistinguishedNameParser.java",
"core/java/org/apache/http/conn/ssl/BrowserCompatHostnameVerifier.java",
"core/java/org/apache/http/conn/ssl/SSLSocketFactory.java",
"core/java/org/apache/http/conn/ssl/StrictHostnameVerifier.java",
"core/java/org/apache/http/conn/ssl/X509HostnameVerifier.java",
"core/java/org/apache/http/params/CoreConnectionPNames.java",
"core/java/org/apache/http/params/HttpConnectionParams.java",
"core/java/org/apache/http/params/HttpParams.java",
"core/java/android/net/http/SslCertificate.java",
"core/java/android/net/http/SslError.java",
"core/java/com/android/internal/util/HexDump.java",
],
}
droidstubs {
name: "api-stubs-docs",
defaults: ["metalava-api-stubs-default"],
api_filename: "public_api.txt",
private_api_filename: "private.txt",
removed_api_filename: "removed.txt",
arg_files: [
"core/res/AndroidManifest.xml",
],
args: metalava_framework_docs_args,
check_api: {
current: {
api_file: "api/current.txt",
removed_api_file: "api/removed.txt",
},
last_released: {
api_file: ":last-released-public-api",
removed_api_file: "api/removed.txt",
},
},
jdiff_enabled: true,
}
droidstubs {
name: "system-api-stubs-docs",
defaults: ["metalava-api-stubs-default"],
api_tag_name: "SYSTEM",
api_filename: "system-api.txt",
private_api_filename: "system-private.txt",
private_dex_api_filename: "system-private-dex.txt",
removed_api_filename: "system-removed.txt",
arg_files: [
"core/res/AndroidManifest.xml",
],
args: metalava_framework_docs_args + " --show-annotation android.annotation.SystemApi",
check_api: {
current: {
api_file: "api/system-current.txt",
removed_api_file: "api/system-removed.txt",
},
last_released: {
api_file: ":last-released-system-api",
removed_api_file: "api/system-removed.txt",
},
},
jdiff_enabled: true,
}
droidstubs {
name: "test-api-stubs-docs",
defaults: ["metalava-api-stubs-default"],
api_tag_name: "TEST",
api_filename: "test-api.txt",
removed_api_filename: "test-removed.txt",
arg_files: [
"core/res/AndroidManifest.xml",
],
args: metalava_framework_docs_args + " --show-annotation android.annotation.TestApi",
check_api: {
current: {
api_file: "api/test-current.txt",
removed_api_file: "api/test-removed.txt",
},
},
}
filegroup {
name: "framework-annotation-nonnull-srcs",
srcs: [
"core/java/android/annotation/NonNull.java",
],
}
filegroup {
name: "framework-media-annotation-srcs",
srcs: [
"core/java/android/annotation/CallbackExecutor.java",
"core/java/android/annotation/CallSuper.java",
"core/java/android/annotation/DrawableRes.java",
"core/java/android/annotation/IntDef.java",
"core/java/android/annotation/LongDef.java",
"core/java/android/annotation/NonNull.java",
"core/java/android/annotation/Nullable.java",
"core/java/android/annotation/RequiresPermission.java",
"core/java/android/annotation/SdkConstant.java",
"core/java/android/annotation/StringDef.java",
"core/java/android/annotation/SystemApi.java",
"core/java/android/annotation/TestApi.java",
"core/java/android/annotation/UnsupportedAppUsage.java",
"core/java/com/android/internal/annotations/GuardedBy.java",
],
}