OSDN Git Service

Merge tag 'android-8.1.0_r81' into oreo-x86
[android-x86/frameworks-base.git] / Android.mk
index 99e0c46..e3cc2b5 100644 (file)
@@ -37,13 +37,20 @@ ifneq ($(ANDROID_BUILD_EMBEDDED),true)
 
 include $(CLEAR_VARS)
 
+# Load framework-specific path mappings used later in the build.
+include $(LOCAL_PATH)/pathmap.mk
+
 # FRAMEWORKS_BASE_SUBDIRS comes from build/core/pathmap.mk
-LOCAL_SRC_FILES := $(call find-other-java-files,$(FRAMEWORKS_BASE_SUBDIRS))
+LOCAL_SRC_FILES := \
+        $(call find-other-java-files,$(FRAMEWORKS_BASE_SUBDIRS)) \
+        $(call all-proto-files-under, core/proto)
 
 # EventLogTags files.
 LOCAL_SRC_FILES += \
+       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/webkit/EventLogTags.logtags \
        core/java/com/android/internal/logging/EventLogTags.logtags \
 
@@ -64,14 +71,19 @@ LOCAL_SRC_FILES += \
        core/java/android/accounts/IAccountManagerResponse.aidl \
        core/java/android/accounts/IAccountAuthenticator.aidl \
        core/java/android/accounts/IAccountAuthenticatorResponse.aidl \
-       core/java/android/app/IActivityContainer.aidl \
-       core/java/android/app/IActivityContainerCallback.aidl \
        core/java/android/app/IActivityController.aidl \
+       core/java/android/app/IActivityManager.aidl \
        core/java/android/app/IActivityPendingResult.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/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 \
@@ -89,14 +101,22 @@ LOCAL_SRC_FILES += \
        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/trust/IStrongAuthTracker.aidl \
        core/java/android/app/trust/ITrustManager.aidl \
        core/java/android/app/trust/ITrustListener.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/timezone/ICallback.aidl \
+       core/java/android/app/timezone/IRulesManager.aidl \
+       core/java/android/app/usage/ICacheQuotaService.aidl \
+       core/java/android/app/usage/IStorageStatsManager.aidl \
        core/java/android/app/usage/IUsageStatsManager.aidl \
        core/java/android/bluetooth/IBluetooth.aidl \
        core/java/android/bluetooth/IBluetoothA2dp.aidl \
@@ -112,14 +132,21 @@ LOCAL_SRC_FILES += \
        core/java/android/bluetooth/IBluetoothPan.aidl \
        core/java/android/bluetooth/IBluetoothManager.aidl \
        core/java/android/bluetooth/IBluetoothManagerCallback.aidl \
-       core/java/android/bluetooth/IBluetoothPbap.aidl \
        core/java/android/bluetooth/IBluetoothMap.aidl \
+       core/java/android/bluetooth/IBluetoothMapClient.aidl \
+       core/java/android/bluetooth/IBluetoothPbap.aidl \
+       core/java/android/bluetooth/IBluetoothPbapClient.aidl \
        core/java/android/bluetooth/IBluetoothSap.aidl \
        core/java/android/bluetooth/IBluetoothStateChangeCallback.aidl \
        core/java/android/bluetooth/IBluetoothHeadsetClient.aidl \
+       core/java/android/bluetooth/IBluetoothInputHost.aidl \
+       core/java/android/bluetooth/IBluetoothHidDeviceCallback.aidl \
        core/java/android/bluetooth/IBluetoothGatt.aidl \
        core/java/android/bluetooth/IBluetoothGattCallback.aidl \
        core/java/android/bluetooth/IBluetoothGattServerCallback.aidl \
+       core/java/android/bluetooth/le/IAdvertisingSetCallback.aidl \
+       core/java/android/bluetooth/le/IPeriodicAdvertisingCallback.aidl \
+       core/java/android/bluetooth/le/IScannerCallback.aidl \
        core/java/android/content/IClipboard.aidl \
        core/java/android/content/IContentService.aidl \
        core/java/android/content/IIntentReceiver.aidl \
@@ -130,8 +157,12 @@ LOCAL_SRC_FILES += \
        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/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 \
@@ -141,26 +172,28 @@ LOCAL_SRC_FILES += \
        core/java/android/content/pm/IPackageInstallerCallback.aidl \
        core/java/android/content/pm/IPackageInstallerSession.aidl \
        core/java/android/content/pm/IPackageManager.aidl \
+       ../native/libs/binder/aidl/android/content/pm/IPackageManagerNative.aidl \
        core/java/android/content/pm/IPackageMoveObserver.aidl \
        core/java/android/content/pm/IPackageStatsObserver.aidl \
-       core/java/android/content/pm/IOnPermissionsChangeListener.aidl \
+       core/java/android/content/pm/IPinItemRequest.aidl \
+       core/java/android/content/pm/IShortcutService.aidl \
+       core/java/android/content/pm/permission/IRuntimePermissionPresenter.aidl \
        core/java/android/database/IContentObserver.aidl \
-       core/java/android/hardware/ICameraService.aidl \
-       core/java/android/hardware/ICameraServiceListener.aidl \
-       core/java/android/hardware/ICameraServiceProxy.aidl \
-       core/java/android/hardware/ICamera.aidl \
-       core/java/android/hardware/ICameraClient.aidl \
+       ../av/camera/aidl/android/hardware/ICameraService.aidl \
+       ../av/camera/aidl/android/hardware/ICameraServiceListener.aidl \
+       ../av/camera/aidl/android/hardware/ICameraServiceProxy.aidl \
+       ../av/camera/aidl/android/hardware/ICamera.aidl \
+       ../av/camera/aidl/android/hardware/ICameraClient.aidl \
+       ../av/camera/aidl/android/hardware/camera2/ICameraDeviceUser.aidl \
+       ../av/camera/aidl/android/hardware/camera2/ICameraDeviceCallbacks.aidl \
        core/java/android/hardware/IConsumerIrService.aidl \
-       core/java/android/hardware/camera2/ICameraDeviceUser.aidl \
-       core/java/android/hardware/camera2/ICameraDeviceCallbacks.aidl \
        core/java/android/hardware/ISerialManager.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/IFingerprintDaemon.aidl \
-       core/java/android/hardware/fingerprint/IFingerprintDaemonCallback.aidl \
        core/java/android/hardware/fingerprint/IFingerprintService.aidl \
        core/java/android/hardware/fingerprint/IFingerprintServiceLockoutResetCallback.aidl \
+       core/java/android/hardware/fingerprint/IFingerprintClientActiveCallback.aidl \
        core/java/android/hardware/fingerprint/IFingerprintServiceReceiver.aidl \
        core/java/android/hardware/hdmi/IHdmiControlCallback.aidl \
        core/java/android/hardware/hdmi/IHdmiControlService.aidl \
@@ -183,64 +216,121 @@ LOCAL_SRC_FILES += \
        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/IContextHubService.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/net/ICaptivePortal.aidl \
        core/java/android/net/IConnectivityManager.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/os/IBatteryPropertiesListener.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 \
+       core/java/android/os/IIncidentManager.aidl \
+       core/java/android/os/IIncidentReportCompletedListener.aidl \
+       core/java/android/os/IIncidentReportStatusListener.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 \
+       core/java/android/os/IThermalEventListener.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/security/IKeystoreService.aidl \
+       core/java/android/security/keymaster/IKeyAttestationApplicationIdProvider.aidl \
+       core/java/android/service/autofill/IAutoFillService.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/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/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/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/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 \
@@ -252,17 +342,27 @@ LOCAL_SRC_FILES += \
        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/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/IAutofillWindowPresenter.aidl \
        core/java/android/view/IApplicationToken.aidl \
-       core/java/android/view/IAssetAtlas.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/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 \
@@ -278,31 +378,40 @@ LOCAL_SRC_FILES += \
        core/java/com/android/internal/app/IAppOpsService.aidl \
        core/java/com/android/internal/app/IAssistScreenshotReceiver.aidl \
        core/java/com/android/internal/app/IBatteryStats.aidl \
-       core/java/com/android/internal/app/IProcessStats.aidl \
+       core/java/com/android/internal/app/ISoundTriggerService.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/car/ICarServiceHelper.aidl \
+       core/java/com/android/internal/inputmethod/IInputContentUriToken.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 \
@@ -310,20 +419,22 @@ LOCAL_SRC_FILES += \
        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 \
        core/java/com/android/internal/widget/IRemoteViewsAdapterConnection.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/IFusedProvider.aidl \
        location/java/android/location/IGeocodeProvider.aidl \
        location/java/android/location/IGeofenceProvider.aidl \
-       location/java/android/location/IGpsMeasurementsListener.aidl \
-       location/java/android/location/IGpsNavigationMessageListener.aidl \
-       location/java/android/location/IGpsStatusListener.aidl \
-       location/java/android/location/IGpsStatusProvider.aidl \
+       location/java/android/location/IGnssStatusListener.aidl \
+       location/java/android/location/IGnssStatusProvider.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 \
@@ -335,12 +446,14 @@ LOCAL_SRC_FILES += \
        media/java/android/media/IAudioRoutesObserver.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/IRemoteControlClient.aidl \
-       media/java/android/media/IRemoteControlDisplay.aidl \
+       media/java/android/media/IPlaybackConfigDispatcher.aidl \
+       media/java/android/media/IPlayer.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 \
@@ -358,10 +471,13 @@ LOCAL_SRC_FILES += \
        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/ISessionController.aidl \
-       media/java/android/media/session/ISessionControllerCallback.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/ISession.aidl \
        media/java/android/media/session/ISessionCallback.aidl \
+       media/java/android/media/session/ISessionController.aidl \
+       media/java/android/media/session/ISessionControllerCallback.aidl \
        media/java/android/media/session/ISessionManager.aidl \
        media/java/android/media/tv/ITvInputClient.aidl \
        media/java/android/media/tv/ITvInputHardware.aidl \
@@ -372,8 +488,12 @@ LOCAL_SRC_FILES += \
        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 \
        media/java/android/service/media/IMediaBrowserService.aidl \
        media/java/android/service/media/IMediaBrowserServiceCallbacks.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 \
@@ -382,19 +502,37 @@ LOCAL_SRC_FILES += \
        telecomm/java/com/android/internal/telecom/IInCallService.aidl \
        telecomm/java/com/android/internal/telecom/ITelecomService.aidl \
        telecomm/java/com/android/internal/telecom/RemoteServiceCallback.aidl \
+       telephony/java/android/telephony/mbms/IMbmsDownloadSessionCallback.aidl \
+       telephony/java/android/telephony/mbms/IMbmsStreamingSessionCallback.aidl \
+       telephony/java/android/telephony/mbms/IDownloadStateCallback.aidl \
+        telephony/java/android/telephony/mbms/IStreamingServiceCallback.aidl \
+       telephony/java/android/telephony/mbms/vendor/IMbmsDownloadService.aidl \
+       telephony/java/android/telephony/mbms/vendor/IMbmsStreamingService.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/IImsMultiEndpoint.aidl \
        telephony/java/com/android/ims/internal/IImsService.aidl \
+       telephony/java/com/android/ims/internal/IImsServiceController.aidl \
+       telephony/java/com/android/ims/internal/IImsServiceFeatureListener.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/IOnSubscriptionsChangedListener.aidl \
@@ -405,25 +543,87 @@ LOCAL_SRC_FILES += \
        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/IEuiccController.aidl \
        wifi/java/android/net/wifi/IWifiManager.aidl \
-       wifi/java/android/net/wifi/passpoint/IWifiPasspointManager.aidl \
+       wifi/java/android/net/wifi/aware/IWifiAwareEventCallback.aidl \
+       wifi/java/android/net/wifi/aware/IWifiAwareManager.aidl \
+       wifi/java/android/net/wifi/aware/IWifiAwareDiscoverySessionCallback.aidl \
        wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl \
        wifi/java/android/net/wifi/IWifiScanner.aidl \
        wifi/java/android/net/wifi/IRttManager.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 \
+
+# The following are native binders that need to go with the native component
+# at system/update_engine/binder_bindings/. Use relative path to refer to them.
+LOCAL_SRC_FILES += \
+       ../../system/update_engine/binder_bindings/android/os/IUpdateEngine.aidl \
+       ../../system/update_engine/binder_bindings/android/os/IUpdateEngineCallback.aidl \
+
+LOCAL_SRC_FILES += \
+       ../../system/netd/server/binder/android/net/INetd.aidl \
+       ../native/cmds/installd/binder/android/os/IInstalld.aidl \
+
+LOCAL_AIDL_INCLUDES += system/update_engine/binder_bindings
+
+LOCAL_AIDL_INCLUDES += frameworks/base/lowpan/java
+LOCAL_SRC_FILES += \
+       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
 
 # FRAMEWORKS_BASE_JAVA_SRC_DIRS comes from build/core/pathmap.mk
-LOCAL_AIDL_INCLUDES += $(FRAMEWORKS_BASE_JAVA_SRC_DIRS)
+LOCAL_AIDL_INCLUDES += \
+      $(FRAMEWORKS_BASE_JAVA_SRC_DIRS) \
+      frameworks/native/aidl/binder
+
+LOCAL_AIDL_INCLUDES += \
+       frameworks/av/camera/aidl \
+       frameworks/av/drm/libmediadrm/aidl \
+       frameworks/native/aidl/gui \
+       system/netd/server/binder
 
 LOCAL_INTERMEDIATE_SOURCES := \
                        $(framework_res_source_path)/android/R.java \
                        $(framework_res_source_path)/android/Manifest.java \
                        $(framework_res_source_path)/com/android/internal/R.java
 
+# Make sure that R.java and Manifest.java are built before we build
+# the source for this library.
+framework_res_R_stamp := \
+       $(call intermediates-dir-for,APPS,framework-res,,COMMON)/src/R.stamp
+LOCAL_ADDITIONAL_DEPENDENCIES := $(framework_res_R_stamp)
+
 LOCAL_NO_STANDARD_LIBRARIES := true
-LOCAL_JAVA_LIBRARIES := core-libart conscrypt okhttp core-junit bouncycastle ext
+LOCAL_JAVA_LIBRARIES := core-oj core-libart conscrypt okhttp bouncycastle ext
+
+LOCAL_STATIC_JAVA_LIBRARIES :=                          \
+    framework-protos                                    \
+    android.hardware.health-V1.0-java-constants          \
+    android.hardware.thermal-V1.0-java-constants         \
+    android.hardware.tv.input-V1.0-java-constants        \
+    android.hardware.usb-V1.0-java-constants             \
+    android.hardware.usb-V1.1-java-constants             \
+    android.hardware.vibrator-V1.0-java-constants        \
+    android.hardware.vibrator-V1.1-java-constants        \
+    android.hardware.wifi-V1.0-java-constants            \
+
+include hardware/interfaces/cas/1.0/CasHal.mk
+
+# Loaded with System.loadLibrary by android.view.textclassifier
+LOCAL_REQUIRED_MODULES += libtextclassifier
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := stream
+LOCAL_PROTOC_FLAGS := \
+    -Iexternal/protobuf/src
+
+LOCAL_STATIC_JAVA_LIBRARIES += analytics-utils
 
 LOCAL_MODULE := framework
 
@@ -432,16 +632,13 @@ LOCAL_JACK_FLAGS := --multi-dex native
 
 LOCAL_RMTYPEDEFS := true
 
-include $(BUILD_JAVA_LIBRARY)
-framework_module := $(LOCAL_INSTALLED_MODULE)
+ifeq ($(EMMA_INSTRUMENT_FRAMEWORK),true)
+LOCAL_EMMA_INSTRUMENT := true
+endif
 
-# Make sure that R.java and Manifest.java are built before we build
-# the source for this library.
-framework_res_R_stamp := \
-       $(call intermediates-dir-for,APPS,framework-res,,COMMON)/src/R.stamp
-$(full_classes_compiled_jar): $(framework_res_R_stamp)
-$(built_dex_intermediate): $(framework_res_R_stamp)
+include $(BUILD_JAVA_LIBRARY)
 
+framework_module := $(LOCAL_INSTALLED_MODULE)
 $(framework_module): | $(dir $(framework_module))framework-res.apk
 
 framework_built := $(call java-lib-deps,framework)
@@ -452,6 +649,11 @@ framework_built := $(call java-lib-deps,framework)
 include $(CLEAR_VARS)
 
 aidl_files := \
+        frameworks/base/telephony/java/android/telephony/mbms/DownloadRequest.aidl \
+        frameworks/base/telephony/java/android/telephony/mbms/FileInfo.aidl \
+        frameworks/base/telephony/java/android/telephony/mbms/FileServiceInfo.aidl \
+        frameworks/base/telephony/java/android/telephony/mbms/ServiceInfo.aidl \
+        frameworks/base/telephony/java/android/telephony/mbms/StreamingServiceInfo.aidl \
        frameworks/base/telephony/java/android/telephony/ServiceState.aidl \
        frameworks/base/telephony/java/android/telephony/SubscriptionInfo.aidl \
        frameworks/base/telephony/java/android/telephony/CellInfo.aidl \
@@ -459,6 +661,9 @@ aidl_files := \
        frameworks/base/telephony/java/android/telephony/IccOpenLogicalChannelResponse.aidl \
        frameworks/base/telephony/java/android/telephony/NeighboringCellInfo.aidl \
        frameworks/base/telephony/java/android/telephony/ModemActivityInfo.aidl \
+       frameworks/base/telephony/java/android/telephony/UiccAccessRule.aidl \
+       frameworks/base/telephony/java/android/telephony/euicc/DownloadableSubscription.aidl \
+       frameworks/base/telephony/java/android/telephony/euicc/EuiccInfo.aidl \
        frameworks/base/location/java/android/location/Location.aidl \
        frameworks/base/location/java/android/location/Address.aidl \
        frameworks/base/location/java/android/location/Criteria.aidl \
@@ -473,6 +678,9 @@ aidl_files := \
        frameworks/base/media/java/android/media/tv/TvTrackInfo.aidl \
        frameworks/base/media/java/android/media/browse/MediaBrowser.aidl \
        frameworks/base/wifi/java/android/net/wifi/ScanSettings.aidl \
+       frameworks/base/wifi/java/android/net/wifi/aware/ConfigRequest.aidl \
+       frameworks/base/wifi/java/android/net/wifi/aware/PublishConfig.aidl \
+       frameworks/base/wifi/java/android/net/wifi/aware/SubscribeConfig.aidl \
        frameworks/base/wifi/java/android/net/wifi/p2p/WifiP2pInfo.aidl \
        frameworks/base/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.aidl \
        frameworks/base/wifi/java/android/net/wifi/p2p/WifiP2pConfig.aidl \
@@ -482,6 +690,7 @@ aidl_files := \
        frameworks/base/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceInfo.aidl \
        frameworks/base/wifi/java/android/net/wifi/WpsInfo.aidl \
        frameworks/base/wifi/java/android/net/wifi/ScanResult.aidl \
+       frameworks/base/wifi/java/android/net/wifi/PasspointManagementObjectDefinition.aidl \
        frameworks/base/wifi/java/android/net/wifi/WifiEnterpriseConfig.aidl \
        frameworks/base/wifi/java/android/net/wifi/WifiConfiguration.aidl \
        frameworks/base/wifi/java/android/net/wifi/WifiInfo.aidl \
@@ -491,9 +700,14 @@ aidl_files := \
        frameworks/base/graphics/java/android/graphics/PointF.aidl \
        frameworks/base/graphics/java/android/graphics/RectF.aidl \
        frameworks/base/graphics/java/android/graphics/Rect.aidl \
+       frameworks/base/graphics/java/android/graphics/drawable/Icon.aidl \
        frameworks/base/core/java/android/accounts/AuthenticatorDescription.aidl \
        frameworks/base/core/java/android/accounts/Account.aidl \
+       frameworks/base/core/java/android/app/admin/ConnectEvent.aidl \
+       frameworks/base/core/java/android/app/admin/DnsEvent.aidl \
+       frameworks/base/core/java/android/app/admin/NetworkEvent.aidl \
        frameworks/base/core/java/android/app/admin/SystemUpdatePolicy.aidl \
+       frameworks/base/core/java/android/app/admin/PasswordMetrics.aidl \
        frameworks/base/core/java/android/print/PrintDocumentInfo.aidl \
        frameworks/base/core/java/android/print/PageRange.aidl \
        frameworks/base/core/java/android/print/PrintAttributes.aidl \
@@ -502,6 +716,10 @@ aidl_files := \
        frameworks/base/core/java/android/print/PrintJobInfo.aidl \
        frameworks/base/core/java/android/print/PrinterInfo.aidl \
        frameworks/base/core/java/android/print/PrintJobId.aidl \
+       frameworks/base/core/java/android/printservice/recommendation/RecommendationInfo.aidl \
+       frameworks/base/core/java/android/hardware/radio/ProgramSelector.aidl \
+       frameworks/base/core/java/android/hardware/radio/RadioManager.aidl \
+       frameworks/base/core/java/android/hardware/radio/RadioMetadata.aidl \
        frameworks/base/core/java/android/hardware/usb/UsbDevice.aidl \
        frameworks/base/core/java/android/hardware/usb/UsbInterface.aidl \
        frameworks/base/core/java/android/hardware/usb/UsbEndpoint.aidl \
@@ -513,10 +731,12 @@ aidl_files := \
        frameworks/base/core/java/android/os/ParcelUuid.aidl \
        frameworks/base/core/java/android/os/ParcelFileDescriptor.aidl \
        frameworks/base/core/java/android/os/ResultReceiver.aidl \
-       frameworks/base/core/java/android/os/PersistableBundle.aidl \
        frameworks/base/core/java/android/os/WorkSource.aidl \
        frameworks/base/core/java/android/os/DropBoxManager.aidl \
        frameworks/base/core/java/android/os/Bundle.aidl \
+       frameworks/base/core/java/android/os/Debug.aidl \
+       frameworks/base/core/java/android/os/SharedMemory.aidl \
+       frameworks/base/core/java/android/os/StrictMode.aidl \
        frameworks/base/core/java/android/accessibilityservice/AccessibilityServiceInfo.aidl \
        frameworks/base/core/java/android/net/Network.aidl \
        frameworks/base/core/java/android/net/RouteInfo.aidl \
@@ -529,10 +749,11 @@ aidl_files := \
        frameworks/base/core/java/android/net/Uri.aidl \
        frameworks/base/core/java/android/net/NetworkRequest.aidl \
        frameworks/base/core/java/android/net/LinkAddress.aidl \
+       frameworks/base/core/java/android/util/MemoryIntArray.aidl \
        frameworks/base/core/java/android/view/Display.aidl \
        frameworks/base/core/java/android/view/InputDevice.aidl \
        frameworks/base/core/java/android/view/InputEvent.aidl \
-       frameworks/base/core/java/android/view/Surface.aidl \
+       frameworks/native/aidl/gui/android/view/Surface.aidl \
        frameworks/base/core/java/android/view/WindowContentFrameStats.aidl \
        frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.aidl \
        frameworks/base/core/java/android/view/inputmethod/CursorAnchorInfo.aidl \
@@ -559,9 +780,19 @@ aidl_files := \
        frameworks/base/core/java/android/view/textservice/SuggestionsInfo.aidl \
        frameworks/base/core/java/android/service/carrier/CarrierIdentifier.aidl \
        frameworks/base/core/java/android/service/carrier/MessagePdu.aidl \
+       frameworks/base/core/java/android/service/euicc/GetDefaultDownloadableSubscriptionListResult.aidl \
+       frameworks/base/core/java/android/service/euicc/GetDownloadableSubscriptionMetadataResult.aidl \
+       frameworks/base/core/java/android/service/euicc/GetEuiccProfileInfoListResult.aidl \
+       frameworks/base/core/java/android/service/notification/Adjustment.aidl \
+       frameworks/base/core/java/android/service/notification/Condition.aidl \
+       frameworks/base/core/java/android/service/notification/SnoozeCriterion.aidl \
        frameworks/base/core/java/android/service/notification/StatusBarNotification.aidl \
        frameworks/base/core/java/android/service/chooser/ChooserTarget.aidl \
+       frameworks/base/core/java/android/service/resolver/ResolverTarget.aidl \
        frameworks/base/core/java/android/speech/tts/Voice.aidl \
+       frameworks/base/core/java/android/app/usage/CacheQuotaHint.aidl \
+       frameworks/base/core/java/android/app/usage/ExternalStorageStats.aidl \
+       frameworks/base/core/java/android/app/usage/StorageStats.aidl \
        frameworks/base/core/java/android/app/usage/UsageEvents.aidl \
        frameworks/base/core/java/android/app/Notification.aidl \
        frameworks/base/core/java/android/app/NotificationManager.aidl \
@@ -596,11 +827,13 @@ aidl_files := \
        frameworks/base/core/java/android/content/pm/ApplicationInfo.aidl \
        frameworks/base/core/java/android/content/pm/PermissionInfo.aidl \
        frameworks/base/core/java/android/content/pm/ActivityInfo.aidl \
+       frameworks/base/core/java/android/content/pm/ConfigurationInfo.aidl \
        frameworks/base/core/java/android/content/pm/PackageInfo.aidl \
        frameworks/base/core/java/android/content/pm/ResolveInfo.aidl \
        frameworks/base/core/java/android/content/pm/ProviderInfo.aidl \
        frameworks/base/core/java/android/content/pm/PackageStats.aidl \
        frameworks/base/core/java/android/content/pm/PermissionGroupInfo.aidl \
+       frameworks/base/core/java/android/content/pm/ShortcutInfo.aidl \
        frameworks/base/core/java/android/content/pm/LabeledIntent.aidl \
        frameworks/base/core/java/android/content/ComponentName.aidl \
        frameworks/base/core/java/android/content/SyncStats.aidl \
@@ -620,6 +853,10 @@ aidl_files := \
        frameworks/base/core/java/android/bluetooth/le/ScanResult.aidl \
        frameworks/base/core/java/android/bluetooth/BluetoothDevice.aidl \
        frameworks/base/core/java/android/database/CursorWindow.aidl \
+       frameworks/base/core/java/android/service/quicksettings/Tile.aidl \
+       frameworks/native/aidl/binder/android/os/PersistableBundle.aidl \
+       system/netd/server/binder/android/net/UidRange.aidl \
+       frameworks/base/telephony/java/android/telephony/PcoData.aidl \
 
 gen := $(TARGET_OUT_COMMON_INTERMEDIATES)/framework.aidl
 $(gen): PRIVATE_SRC_FILES := $(aidl_files)
@@ -642,7 +879,7 @@ packages_to_document := \
 # Search through the base framework dirs for these packages.
 # The result will be relative to frameworks/base.
 fwbase_dirs_to_document := \
-       test-runner/src \
+       legacy-test/src \
        $(patsubst $(LOCAL_PATH)/%,%, \
          $(wildcard \
            $(foreach dir, $(FRAMEWORKS_BASE_JAVA_SRC_DIRS), \
@@ -654,27 +891,42 @@ fwbase_dirs_to_document := \
 # include definition of libcore_to_document
 include libcore/Docs.mk
 
-# include definition of junit_to_document
-include external/junit/Common.mk
-
 non_base_dirs := \
-       ../opt/telephony/src/java/android/provider \
        ../opt/telephony/src/java/android/telephony \
        ../opt/telephony/src/java/android/telephony/gsm \
        ../opt/net/voip/src/java/android/net/rtp \
        ../opt/net/voip/src/java/android/net/sip
 
+framework_base_android_test_mock_src_files := \
+       $(call all-java-files-under, test-runner/src/android/test/mock)
+
+framework_base_android_test_runner_excluding_mock_src_files := \
+       $(filter-out $(framework_base_android_test_mock_src_files), $(call all-java-files-under, test-runner/src))
+
 # These are relative to frameworks/base
 dirs_to_check_apis := \
   $(fwbase_dirs_to_document) \
        $(non_base_dirs)
 
+###########################################################
+## Return all directories that have a 'NO_DOCS' file in
+## them, appending a '%' to them to form a pattern to
+## filter out files under those directories.
+## $(1): A list of base directories to look at.
+###########################################################
+define find-no-docs-pattern
+$(addsuffix %, $(dir $(foreach dir, $(1), $(shell cd $(LOCAL_PATH); find $(dir) -name NO_DOCS))))
+endef
+
 # These are relative to frameworks/base
 # FRAMEWORKS_BASE_SUBDIRS comes from build/core/pathmap.mk
 dirs_to_document := \
        $(dirs_to_check_apis) \
-  $(addprefix ../../, $(FRAMEWORKS_DATA_BINDING_JAVA_SRC_DIRS)) \
-  $(addprefix ../../, $(FRAMEWORKS_SUPPORT_JAVA_SRC_DIRS)) \
+       test-runner/src \
+       $(addprefix ../../, $(FRAMEWORKS_DATA_BINDING_JAVA_SRC_DIRS))
+
+patterns_to_not_document := \
+       $(call find-no-docs-pattern, $(dirs_to_document))
 
 # These are relative to frameworks/base
 html_dirs := \
@@ -684,17 +936,18 @@ html_dirs := \
 # Common sources for doc check and api check
 common_src_files := \
        $(call find-other-html-files, $(html_dirs)) \
-       $(addprefix ../../libcore/, $(libcore_to_document)) \
-       $(addprefix ../../external/junit/, $(junit_to_document))
+       $(addprefix ../../, $(libcore_to_document))
 
 # These are relative to frameworks/base
 framework_docs_LOCAL_SRC_FILES := \
-       $(call find-other-java-files, $(dirs_to_document)) \
+       $(filter-out $(patterns_to_not_document), $(call find-other-java-files, $(dirs_to_document))) \
        $(common_src_files)
 
 # These are relative to frameworks/base
 framework_docs_LOCAL_API_CHECK_SRC_FILES := \
-       $(call find-other-java-files, $(dirs_to_check_apis)) \
+       $(framework_base_android_test_mock_src_files) \
+       $(framework_base_android_test_runner_excluding_mock_src_files) \
+       $(call all-java-files-under, $(dirs_to_check_apis)) \
        $(common_src_files)
 
 # This is used by ide.mk as the list of source files that are
@@ -710,15 +963,19 @@ framework_docs_LOCAL_INTERMEDIATE_SOURCES := \
        $(framework_res_source_path)/com/android/internal/R.java
 
 framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES := \
+       core-oj \
        core-libart \
        conscrypt \
        bouncycastle \
        okhttp \
        ext \
+       icu4j \
        framework \
-       telephony-common \
-       voip-common
+       voip-common \
+       android.test.mock \
 
+# Platform docs can refer to Support Library APIs, but we don't actually build
+# them as part of the docs target, so we need to include them on the classpath.
 framework_docs_LOCAL_JAVA_LIBRARIES := \
        $(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES) \
        $(FRAMEWORKS_SUPPORT_JAVA_LIBRARIES)
@@ -731,7 +988,10 @@ framework_docs_LOCAL_DROIDDOC_HTML_DIR := docs/html
 # Conscrypt (com.android.org.conscrypt) is an implementation detail and should
 # not be referenced in the documentation.
 framework_docs_LOCAL_DROIDDOC_OPTIONS := \
+    -android \
     -knowntags ./frameworks/base/docs/knowntags.txt \
+    -knowntags ./libcore/known_oj_tags.txt \
+    -manifest ./frameworks/base/core/res/AndroidManifest.xml \
     -hidePackage com.android.org.conscrypt \
     -since $(SRC_API_DIR)/1.xml 1 \
     -since $(SRC_API_DIR)/2.xml 2 \
@@ -756,19 +1016,22 @@ framework_docs_LOCAL_DROIDDOC_OPTIONS := \
     -since $(SRC_API_DIR)/21.txt 21 \
     -since $(SRC_API_DIR)/22.txt 22 \
     -since $(SRC_API_DIR)/23.txt 23 \
-               -werror -hide 111 -hide 113 \
-               -overview $(LOCAL_PATH)/core/java/overview.html
+    -since $(SRC_API_DIR)/24.txt 24 \
+    -since $(SRC_API_DIR)/25.txt 25 \
+    -since $(SRC_API_DIR)/26.txt 26 \
+    -since $(SRC_API_DIR)/27.txt 27 \
+    -werror -lerror -hide 111 -hide 113 -hide 121 -hide 125 -hide 126 -hide 127 -hide 128 \
+    -overview $(LOCAL_PATH)/core/java/overview.html \
 
 framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR:= \
        $(call intermediates-dir-for,JAVA_LIBRARIES,framework,,COMMON)
 
 framework_docs_LOCAL_ADDITIONAL_JAVA_DIR:= \
-       $(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR) \
-       $(foreach lib,$(FRAMEWORKS_SUPPORT_JAVA_LIBRARIES),$(call intermediates-dir-for,JAVA_LIBRARIES,$(lib),,COMMON)) \
-       $(foreach lib,$(FRAMEWORKS_SUPPORT_JAVA_LIBRARIES),$(call intermediates-dir-for,JAVA_LIBRARIES,$(lib)-res,,COMMON))
+       $(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR)
 
 framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES := \
-    frameworks/base/docs/knowntags.txt
+    frameworks/base/docs/knowntags.txt \
+    libcore/Docs.mk
 
 samples_dir := development/samples/browseable
 
@@ -793,14 +1056,24 @@ sample_groups := -samplegroup Admin \
 
 ## SDK version identifiers used in the published docs
   # major[.minor] version for current SDK. (full releases only)
-framework_docs_SDK_VERSION:=6.0
+framework_docs_SDK_VERSION:=7.0
   # release version (ie "Release x")  (full releases only)
 framework_docs_SDK_REL_ID:=1
 
 framework_docs_LOCAL_DROIDDOC_OPTIONS += \
+               -hdf dac true \
+               -hdf sdk.codename O \
+               -hdf sdk.preview.version 1 \
                -hdf sdk.version $(framework_docs_SDK_VERSION) \
                -hdf sdk.rel.id $(framework_docs_SDK_REL_ID) \
-               -hdf sdk.preview 0
+               -hdf sdk.preview 0 \
+               -resourcesdir $(LOCAL_PATH)/docs/html/reference/images/ \
+               -resourcesoutdir reference/android/images/
+
+# Federate Support Library references against local API file.
+framework_docs_LOCAL_DROIDDOC_OPTIONS += \
+               -federate SupportLib https://developer.android.com \
+               -federationapi SupportLib prebuilts/sdk/current/support-api.txt
 
 # ====  the api stubs and current.xml ===========================
 include $(CLEAR_VARS)
@@ -816,14 +1089,16 @@ LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
 
 LOCAL_MODULE := api-stubs
 
+LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_stubs_current_intermediates/src
+
 LOCAL_DROIDDOC_OPTIONS:=\
                $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
-               -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_stubs_current_intermediates/src \
+               -referenceonly \
                -api $(INTERNAL_PLATFORM_API_FILE) \
                -removedApi $(INTERNAL_PLATFORM_REMOVED_API_FILE) \
                -nodocs
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
 
 LOCAL_UNINSTALLABLE_MODULE := true
 
@@ -848,15 +1123,18 @@ LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
 
 LOCAL_MODULE := system-api-stubs
 
+LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_system_stubs_current_intermediates/src
+
 LOCAL_DROIDDOC_OPTIONS:=\
                $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
-               -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_system_stubs_current_intermediates/src \
+               -referenceonly \
                -showAnnotation android.annotation.SystemApi \
                -api $(INTERNAL_PLATFORM_SYSTEM_API_FILE) \
                -removedApi $(INTERNAL_PLATFORM_SYSTEM_REMOVED_API_FILE) \
+               -exactApi $(INTERNAL_PLATFORM_SYSTEM_EXACT_API_FILE) \
                -nodocs
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
 
 LOCAL_UNINSTALLABLE_MODULE := true
 
@@ -867,6 +1145,43 @@ $(full_target): $(framework_built) $(gen)
 $(INTERNAL_PLATFORM_SYSTEM_API_FILE): $(full_target)
 $(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_SYSTEM_API_FILE))
 
+# ====  the test api stubs ===================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES:=$(framework_docs_LOCAL_API_CHECK_SRC_FILES)
+LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
+LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES)
+LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
+LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
+LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
+LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR)
+LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
+
+LOCAL_MODULE := test-api-stubs
+
+LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_test_stubs_current_intermediates/src
+
+LOCAL_DROIDDOC_OPTIONS:=\
+               $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+               -referenceonly \
+               -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_test_stubs_current_intermediates/src \
+               -showAnnotation android.annotation.TestApi \
+               -api $(INTERNAL_PLATFORM_TEST_API_FILE) \
+               -removedApi $(INTERNAL_PLATFORM_TEST_REMOVED_API_FILE) \
+               -exactApi $(INTERNAL_PLATFORM_TEST_EXACT_API_FILE) \
+               -nodocs
+
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
+
+LOCAL_UNINSTALLABLE_MODULE := true
+
+include $(BUILD_DROIDDOC)
+
+# $(gen), i.e. framework.aidl, is also needed while building against the current stub.
+$(full_target): $(framework_built) $(gen)
+$(INTERNAL_PLATFORM_TEST_API_FILE): $(full_target)
+$(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_TEST_API_FILE))
+
 # ====  check javadoc comments but don't generate docs ========
 include $(CLEAR_VARS)
 
@@ -883,9 +1198,10 @@ LOCAL_MODULE := doc-comment-check
 
 LOCAL_DROIDDOC_OPTIONS:=\
                $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+               -referenceonly \
                -parsecomments
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
 
 LOCAL_UNINSTALLABLE_MODULE := true
 
@@ -918,23 +1234,65 @@ LOCAL_DROIDDOC_OPTIONS:=\
                -offlinemode \
                -title "Android SDK" \
                -proofread $(OUT_DOCS)/$(LOCAL_MODULE)-proofread.txt \
-               -todo $(OUT_DOCS)/$(LOCAL_MODULE)-docs-todo.html \
                -sdkvalues $(OUT_DOCS) \
                -hdf android.whichdoc offline
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
 
 include $(BUILD_DROIDDOC)
 
 static_doc_index_redirect := $(out_dir)/index.html
 $(static_doc_index_redirect): \
-       $(LOCAL_PATH)/docs/docs-documentation-redirect.html | $(ACP)
+       $(LOCAL_PATH)/docs/docs-preview-index.html | $(ACP)
        $(hide) mkdir -p $(dir $@)
        $(hide) $(ACP) $< $@
 
 $(full_target): $(static_doc_index_redirect)
 $(full_target): $(framework_built)
 
+
+# ====  static html in the sdk ==================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
+LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
+LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
+LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
+LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
+LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
+LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
+LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
+
+LOCAL_MODULE := offline-sdk-referenceonly
+
+LOCAL_DROIDDOC_OPTIONS:=\
+               $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+               -offlinemode \
+               -title "Android SDK" \
+               -proofread $(OUT_DOCS)/$(LOCAL_MODULE)-proofread.txt \
+               -sdkvalues $(OUT_DOCS) \
+               -hdf android.whichdoc offline \
+               -referenceonly
+
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
+
+include $(BUILD_DROIDDOC)
+
+static_doc_index_redirect := $(out_dir)/index.html
+$(static_doc_index_redirect): $(LOCAL_PATH)/docs/docs-documentation-redirect.html
+       $(copy-file-to-target)
+
+static_doc_properties := $(out_dir)/source.properties
+$(static_doc_properties): \
+       $(LOCAL_PATH)/docs/source.properties | $(ACP)
+       $(hide) mkdir -p $(dir $@)
+       $(hide) $(ACP) $< $@
+
+$(full_target): $(static_doc_index_redirect)
+$(full_target): $(static_doc_properties)
+$(full_target): $(framework_built)
+
+
 # ==== docs for the web (on the androiddevdocs app engine server) =======================
 include $(CLEAR_VARS)
 
@@ -959,13 +1317,11 @@ LOCAL_DROIDDOC_OPTIONS:= \
                -hdf android.hasSamples true \
                -samplesdir $(samples_dir)
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
 
 include $(BUILD_DROIDDOC)
 
 # ==== docs for the web (on the androiddevdocs app engine server) =======================
-# TODO: Fix the System API docs build.
-ifneq ($(filter online-system-api-sdk-docs,$(MAKECMDGOALS)),)
 include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
@@ -983,20 +1339,23 @@ LOCAL_MODULE := online-system-api-sdk
 
 LOCAL_DROIDDOC_OPTIONS:= \
                $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+               -referenceonly \
                -showAnnotation android.annotation.SystemApi \
                -title "Android SDK - Including system APIs." \
                -toroot / \
+               -hide 101 \
+               -hide 104 \
+               -hide 108 \
                -hdf android.whichdoc online \
                $(sample_groups) \
                -hdf android.hasSamples true \
                -samplesdir $(samples_dir)
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
-# Don't build by default
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
+
 LOCAL_UNINSTALLABLE_MODULE := true
 
 include $(BUILD_DROIDDOC)
-endif  # online-system-api-sdk-docs in make command line.
 
 # ==== docs for the web (on the devsite app engine server) =======================
 include $(CLEAR_VARS)
@@ -1010,22 +1369,24 @@ LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
 LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
 LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
 # specify a second html input dir and an output path relative to OUT_DIR)
-LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl/intl /
+LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /
 
 LOCAL_MODULE := ds
 
 LOCAL_DROIDDOC_OPTIONS:= \
                $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
-               -devsite \
                -toroot / \
                -hdf android.whichdoc online \
-               -hdf devsite true
+               -devsite \
+               $(sample_groups) \
+               -hdf android.hasSamples true \
+               -samplesdir $(samples_dir)
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
 
 include $(BUILD_DROIDDOC)
 
-# ==== docs for the ndk =======================
+# ==== docs for the web (on the devsite app engine server) =======================
 include $(CLEAR_VARS)
 LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
 LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
@@ -1033,13 +1394,66 @@ LOCAL_STATIC_JAVA_LIBRARIES:=$(framework_docs_LOCAL_STATIC_JAVA_LIBRARIES)
 LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
 LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
 LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
-LOCAL_DROIDDOC_HTML_DIR:=docs/html-ndk
+LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
 LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
 LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
 # specify a second html input dir and an output path relative to OUT_DIR)
-LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl/intl /
+LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /
+
+LOCAL_MODULE := ds-static
+
+LOCAL_DROIDDOC_OPTIONS:= \
+               $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+               -hdf android.whichdoc online \
+               -staticonly \
+               -toroot / \
+               -devsite \
+               -ignoreJdLinks
+
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
 
-LOCAL_MODULE := online-ndk
+include $(BUILD_DROIDDOC)
+
+# ==== generates full navtree for resolving @links in ds postprocessing ====
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
+LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
+LOCAL_STATIC_JAVA_LIBRARIES:=$(framework_docs_LOCAL_STATIC_JAVA_LIBRARIES)
+LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
+LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
+LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
+LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
+LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
+
+LOCAL_MODULE := ds-ref-navtree
+
+LOCAL_DROIDDOC_OPTIONS:= \
+               $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+               -hdf android.whichdoc online \
+               -toroot / \
+               -atLinksNavtree \
+               -navtreeonly
+
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
+
+include $(BUILD_DROIDDOC)
+
+# ==== site updates for docs (on the androiddevdocs app engine server) =======================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
+LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
+LOCAL_STATIC_JAVA_LIBRARIES:=$(framework_docs_LOCAL_STATIC_JAVA_LIBRARIES)
+LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
+LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
+LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
+LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
+LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
+LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
+LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /
+
+LOCAL_MODULE := online-sdk-dev
 
 LOCAL_DROIDDOC_OPTIONS:= \
                $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
@@ -1049,11 +1463,10 @@ LOCAL_DROIDDOC_OPTIONS:= \
                -hdf android.hasSamples true \
                -samplesdir $(samples_dir)
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
 
 include $(BUILD_DROIDDOC)
 
-
 # ==== docs that have all of the stuff that's @hidden =======================
 include $(CLEAR_VARS)
 
@@ -1069,10 +1482,11 @@ LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
 LOCAL_MODULE := hidden
 LOCAL_DROIDDOC_OPTIONS:=\
                $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+               -referenceonly \
                -title "Android SDK - Including hidden APIs."
 #              -hidden
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
 
 include $(BUILD_DROIDDOC)
 
@@ -1091,15 +1505,32 @@ include $(CLEAR_VARS)
 LOCAL_SRC_FILES := $(ext_src_files)
 
 LOCAL_NO_STANDARD_LIBRARIES := true
-LOCAL_JAVA_LIBRARIES := core-libart
+LOCAL_JAVA_LIBRARIES := core-oj core-libart
 LOCAL_STATIC_JAVA_LIBRARIES := libphonenumber-platform
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE := ext
 
 LOCAL_DX_FLAGS := --core-library
 
+ifneq ($(INCREMENTAL_BUILDS),)
+    LOCAL_PROGUARD_ENABLED := disabled
+    LOCAL_JACK_ENABLED := incremental
+endif
+
 include $(BUILD_JAVA_LIBRARY)
 
+# ====  java proto host library  ==============================
+include $(CLEAR_VARS)
+LOCAL_MODULE := platformprotos
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+LOCAL_PROTOC_FLAGS := \
+    -Iexternal/protobuf/src
+LOCAL_SOURCE_FILES_ALL_GENERATED := true
+LOCAL_SRC_FILES := \
+    $(call all-proto-files-under, core/proto) \
+    $(call all-proto-files-under, libs/incident/proto)
+include $(BUILD_HOST_JAVA_LIBRARY)
+
 
 # Include subdirectory makefiles
 # ============================================================