2009-03-03 19:31:44 -08:00
|
|
|
#
|
|
|
|
# Copyright (C) 2008 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.
|
|
|
|
#
|
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
|
|
|
|
|
# We have a special case here where we build the library's resources
|
|
|
|
# independently from its code, so we need to find where the resource
|
|
|
|
# class source got placed in the course of building the resources.
|
|
|
|
# Thus, the magic here.
|
|
|
|
# Also, this module cannot depend directly on the R.java file; if it
|
|
|
|
# did, the PRIVATE_* vars for R.java wouldn't be guaranteed to be correct.
|
|
|
|
# Instead, it depends on the R.stamp file, which lists the corresponding
|
|
|
|
# R.java file as a prerequisite.
|
|
|
|
# TODO: find a more appropriate way to do this.
|
2010-07-14 19:58:30 -07:00
|
|
|
framework_res_source_path := APPS/framework-res_intermediates/src
|
2009-03-03 19:31:44 -08:00
|
|
|
|
2013-07-17 20:44:57 -07:00
|
|
|
# Build the master framework library.
|
|
|
|
# The framework contains too many method references (>64K) for poor old DEX.
|
|
|
|
# So we first build the framework as a monolithic static library then split it
|
|
|
|
# up into smaller pieces.
|
2009-03-03 19:31:44 -08:00
|
|
|
# ============================================================
|
2013-09-30 16:35:37 -07:00
|
|
|
|
|
|
|
# embedded builds use nothing in frameworks/base
|
|
|
|
ifneq ($(ANDROID_BUILD_EMBEDDED),true)
|
|
|
|
|
2009-03-03 19:31:44 -08:00
|
|
|
include $(CLEAR_VARS)
|
|
|
|
|
|
|
|
# FRAMEWORKS_BASE_SUBDIRS comes from build/core/pathmap.mk
|
|
|
|
LOCAL_SRC_FILES := $(call find-other-java-files,$(FRAMEWORKS_BASE_SUBDIRS))
|
|
|
|
|
2010-02-07 22:25:34 -08:00
|
|
|
# EventLogTags files.
|
2010-02-10 19:27:58 -08:00
|
|
|
LOCAL_SRC_FILES += \
|
|
|
|
core/java/android/content/EventLogTags.logtags \
|
2011-07-08 12:13:03 +01:00
|
|
|
core/java/android/speech/tts/EventLogTags.logtags \
|
2010-02-10 19:27:58 -08:00
|
|
|
core/java/android/webkit/EventLogTags.logtags \
|
2010-02-07 22:25:34 -08:00
|
|
|
|
2009-03-03 19:31:44 -08:00
|
|
|
## READ ME: ########################################################
|
|
|
|
##
|
2009-04-06 10:52:24 -07:00
|
|
|
## When updating this list of aidl files, consider if that aidl is
|
2009-03-03 19:31:44 -08:00
|
|
|
## part of the SDK API. If it is, also add it to the list below 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: ########################################################
|
|
|
|
LOCAL_SRC_FILES += \
|
2009-05-14 22:28:01 -07:00
|
|
|
core/java/android/accessibilityservice/IAccessibilityServiceConnection.aidl \
|
Accessibility focus - framework
Usefulness: Keep track of the current user location in the screen when
traversing the it. Enabling structural and directional
navigation over all elements on the screen. This enables
blind users that know the application layout to efficiently
locate desired elements as opposed to try touch exploring the
region where the the element should be - very tedious.
Rationale: There are two ways to implement accessibility focus One is
to let accessibility services keep track of it since they
have access to the screen content, and another to let the view
hierarchy keep track of it. While the first approach would
require almost no work on our part it poses several challenges
which make it a sub-optimal choice. Having the accessibility focus
in the accessibility service would require that service to scrape
the window content every time it changes to sync the view tree
state and the accessibility focus location. Pretty much the service
will have to keep an off screen model of the screen content. This
could be quite challenging to get right and would incur performance
cost for the multiple IPCs to repeatedly fetch the screen content.
Further, keeping virtual accessibility focus (i.e. in the service)
would require sync of the input and accessibility focus. This could
be challenging to implement right as well. Also, having an unlimited
number of accessibility services we cannot guarantee that they will
have a proper implementation, if any, to allow users to perform structural
navigation of the screen content. Assuming two accessibility
services implement structural navigation via accessibility focus,
there is not guarantee that they will behave similarly by default,
i.e. provide some standard way to navigate the screen content.
Also feedback from experienced accessibility researchers, specifically
T.V Raman, provides evidence that having virtual accessibility focus
creates many issues and it is very hard to get right.
Therefore, keeping accessibility focus in the system will avoid
keeping an off-screen model in accessibility services, it will always
be in sync with the state of the view hierarchy and the input focus.
Also this will allow having a default behavior for traversing the
screen via this accessibility focus that is consistent in all
accessibility services. We provide accessibility services with APIs to
override this behavior but all of them will perform screen traversal
in a consistent way by default.
Behavior: If accessibility is enabled the accessibility focus is the leading one
and the input follows it. Putting accessibility focus on a view moves
the input focus there. Clearing the accessibility focus of a view, clears
the input focus of this view. If accessibility focus is on a view that
cannot take input focus, then no other view should have input focus.
In accessibility mode we initially give accessibility focus to the topmost
view and no view has input focus. This ensures consistent behavior accross
all apps. Note that accessibility focus can move hierarchically in the
view tree and having it at the root is better than putting it where the
input focus would be - at the first input focusable which could be at
an arbitrary depth in the view tree. By default not all views are reported
for accessibility, only the important ones. A view may be explicitly labeled
as important or not for accessibility, or the system determines which one
is such - default. Important views for accessibility are all views that are
not dumb layout managers used only to arrange their chidren. Since the same
content arrangement can be obtained via different combintation of layout
managers, such managers cannot be used to reliably determine the application
structure. For example, a user should see a list as a list view with several
list items and each list item as a text view and a button as opposed to seeing
all the layout managers used to arrange the list item's content.
By default only important for accessibility views are regared for accessibility
purposes. View not regarded for accessibility neither fire accessibility events,
nor are reported being on the screen. An accessibility service may request the
system to regard all views. If the target SDK of an accessibility services is
less than JellyBean, then all views are regarded for accessibility.
Note that an accessibility service that requires all view to be ragarded for
accessibility may put accessibility focus on any view. Hence, it may implement
any navigational paradigm if desired. Especially considering the fact that
the system is detecting some standard gestures and delegates their processing
to an accessibility service. The default implementation of an accessibility
services performs the defualt navigation.
bug:5932640
bug:5605641
Change-Id: Ieac461d480579d706a847b9325720cb254736ebe
2012-03-20 11:51:39 -07:00
|
|
|
core/java/android/accessibilityservice/IAccessibilityServiceClient.aidl \
|
2009-03-24 22:48:12 -07:00
|
|
|
core/java/android/accounts/IAccountManager.aidl \
|
|
|
|
core/java/android/accounts/IAccountManagerResponse.aidl \
|
|
|
|
core/java/android/accounts/IAccountAuthenticator.aidl \
|
|
|
|
core/java/android/accounts/IAccountAuthenticatorResponse.aidl \
|
2013-12-04 16:14:06 -08:00
|
|
|
core/java/android/app/IActivityContainer.aidl \
|
|
|
|
core/java/android/app/IActivityContainerCallback.aidl \
|
2009-07-13 13:07:51 -07:00
|
|
|
core/java/android/app/IActivityController.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/app/IActivityPendingResult.aidl \
|
|
|
|
core/java/android/app/IAlarmManager.aidl \
|
2014-05-14 11:05:00 -07:00
|
|
|
core/java/android/app/IAppTask.aidl \
|
2009-07-13 13:07:51 -07:00
|
|
|
core/java/android/app/IBackupAgent.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/app/IInstrumentationWatcher.aidl \
|
|
|
|
core/java/android/app/INotificationManager.aidl \
|
2011-05-20 15:29:23 -07:00
|
|
|
core/java/android/app/IProcessObserver.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/app/ISearchManager.aidl \
|
2009-06-05 13:22:28 +01:00
|
|
|
core/java/android/app/ISearchManagerCallback.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/app/IServiceConnection.aidl \
|
2012-08-27 19:18:31 -07:00
|
|
|
core/java/android/app/IStopUserCallback.aidl \
|
2014-06-09 19:50:00 -07:00
|
|
|
core/java/android/app/job/IJobCallback.aidl \
|
|
|
|
core/java/android/app/job/IJobScheduler.aidl \
|
|
|
|
core/java/android/app/job/IJobService.aidl \
|
2011-04-08 18:14:09 -07:00
|
|
|
core/java/android/app/IThumbnailRetriever.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/app/ITransientNotification.aidl \
|
2013-01-02 10:25:37 -08:00
|
|
|
core/java/android/app/IUiAutomationConnection.aidl \
|
2010-02-09 23:09:17 +01:00
|
|
|
core/java/android/app/IUiModeManager.aidl \
|
2013-01-02 10:25:37 -08:00
|
|
|
core/java/android/app/IUserSwitchObserver.aidl \
|
2009-08-05 21:29:42 -07:00
|
|
|
core/java/android/app/IWallpaperManager.aidl \
|
|
|
|
core/java/android/app/IWallpaperManagerCallback.aidl \
|
2010-02-26 17:25:54 -08:00
|
|
|
core/java/android/app/admin/IDevicePolicyManager.aidl \
|
2014-03-27 14:56:59 +01:00
|
|
|
core/java/android/app/trust/ITrustManager.aidl \
|
|
|
|
core/java/android/app/trust/ITrustListener.aidl \
|
2010-03-05 15:46:30 -08:00
|
|
|
core/java/android/app/backup/IBackupManager.aidl \
|
Full local backup infrastructure
This is the basic infrastructure for pulling a full(*) backup of the
device's data over an adb(**) connection to the local device. The
basic process consists of these interacting pieces:
1. The framework's BackupManagerService, which coordinates the
collection of app data and routing to the destination.
2. A new framework-provided BackupAgent implementation called
FullBackupAgent, which is instantiated in the target applications'
processes in turn, and knows how to emit a datastream that contains
all of the app's saved data files.
3. A new shell-level program called "bu" that is used to bridge from
adb to the framework's Backup Manager.
4. adb itself, which now knows how to use 'bu' to kick off a backup
operation and pull the resulting data stream to the desktop host.
5. A system-provided application that verifies with the user that
an attempted backup/restore operation is in fact expected and to
be allowed.
The full agent implementation is not used during normal operation of
the delta-based app-customized remote backup process. Instead it's
used during user-confirmed *full* backup of applications and all their
data to a local destination, e.g. via the adb connection.
The output format is 'tar'. This makes it very easy for the end
user to examine the resulting dataset, e.g. for purpose of extracting
files for debug purposes; as well as making it easy to contemplate
adding things like a direct gzip stage to the data pipeline during
backup/restore. It also makes it convenient to construct and maintain
synthetic backup datasets for testing purposes.
Within the tar format, certain artificial conventions are used.
All files are stored within top-level directories according to
their semantic origin:
apps/pkgname/a/ : Application .apk file itself
apps/pkgname/obb/: The application's associated .obb containers
apps/pkgname/f/ : The subtree rooted at the getFilesDir() location
apps/pkgname/db/ : The subtree rooted at the getDatabasePath() parent
apps/pkgname/sp/ : The subtree rooted at the getSharedPrefsFile() parent
apps/pkgname/r/ : Files stored relative to the root of the app's file tree
apps/pkgname/c/ : Reserved for the app's getCacheDir() tree; not stored.
For each package, the first entry in the tar stream is a file called
"_manifest", nominally rooted at apps/pkgname. This file contains some
metadata about the package whose data is stored in the archive.
The contents of shared storage can optionally be included in the tar
stream. It is placed in the synthetic location:
shared/...
uid/gid are ignored; app uids are assigned at install time, and the
app's data is handled from within its own execution environment, so
will automatically have the app's correct uid.
Forward-locked .apk files are never backed up. System-partition
.apk files are not backed up unless they have been overridden by a
post-factory upgrade, in which case the current .apk *is* backed up --
i.e. the .apk that matches the on-disk data. The manifest preceding
each application's portion of the tar stream provides version numbers
and signature blocks for version checking, as well as an indication
of whether the restore logic should expect to install the .apk before
extracting the data.
System packages can designate their own full backup agents. This is
to manage things like the settings provider which (a) cannot be shut
down on the fly in order to do a clean snapshot of their file trees,
and (b) manage data that is not only irrelevant but actively hostile
to non-identical devices -- CDMA telephony settings would seriously
mess up a GSM device if emplaced there blind, for example.
When a full backup or restore is initiated from adb, the system will
present a confirmation UI that the user must explicitly respond to
within a short [~ 30 seconds] timeout. This is to avoid the
possibility of malicious desktop-side software secretly grabbing a copy
of all the user's data for nefarious purposes.
(*) The backup is not strictly a full mirror. In particular, the
settings database is not cloned; it is handled the same way that
it is in cloud backup/restore. This is because some settings
are actively destructive if cloned onto a different (or
especially a different-model) device: telephony settings and
AndroidID are good examples of this.
(**) On the framework side it doesn't care that it's adb; it just
sends the tar stream to a file descriptor. This can easily be
retargeted around whatever transport we might decide to use
in the future.
KNOWN ISSUES:
* the security UI is desperately ugly; no proper designs have yet
been done for it
* restore is not yet implemented
* shared storage backup is not yet implemented
* symlinks aren't yet handled, though some infrastructure for
dealing with them has been put in place.
Change-Id: Ia8347611e23b398af36ea22c36dff0a276b1ce91
2011-04-01 14:43:32 -07:00
|
|
|
core/java/android/app/backup/IFullBackupRestoreObserver.aidl \
|
2010-03-05 15:46:30 -08:00
|
|
|
core/java/android/app/backup/IRestoreObserver.aidl \
|
|
|
|
core/java/android/app/backup/IRestoreSession.aidl \
|
2009-08-14 18:33:38 -07:00
|
|
|
core/java/android/bluetooth/IBluetooth.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/bluetooth/IBluetoothA2dp.aidl \
|
2014-05-14 09:51:30 -07:00
|
|
|
core/java/android/bluetooth/IBluetoothA2dpSink.aidl \
|
2014-06-02 16:20:37 -07:00
|
|
|
core/java/android/bluetooth/IBluetoothAvrcpController.aidl \
|
2009-10-07 07:44:03 +02:00
|
|
|
core/java/android/bluetooth/IBluetoothCallback.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/bluetooth/IBluetoothHeadset.aidl \
|
2012-02-16 16:57:18 -08:00
|
|
|
core/java/android/bluetooth/IBluetoothHeadsetPhone.aidl \
|
2012-03-22 17:18:37 -07:00
|
|
|
core/java/android/bluetooth/IBluetoothHealth.aidl \
|
2011-04-01 16:33:09 -07:00
|
|
|
core/java/android/bluetooth/IBluetoothHealthCallback.aidl \
|
2012-03-21 23:15:06 -07:00
|
|
|
core/java/android/bluetooth/IBluetoothInputDevice.aidl \
|
2012-04-12 00:02:00 -07:00
|
|
|
core/java/android/bluetooth/IBluetoothPan.aidl \
|
|
|
|
core/java/android/bluetooth/IBluetoothManager.aidl \
|
|
|
|
core/java/android/bluetooth/IBluetoothManagerCallback.aidl \
|
2009-07-02 16:36:02 +08:00
|
|
|
core/java/android/bluetooth/IBluetoothPbap.aidl \
|
2013-07-18 17:31:50 -07:00
|
|
|
core/java/android/bluetooth/IBluetoothMap.aidl \
|
2011-07-21 18:13:38 -07:00
|
|
|
core/java/android/bluetooth/IBluetoothStateChangeCallback.aidl \
|
2014-06-12 11:23:40 -07:00
|
|
|
core/java/android/bluetooth/IBluetoothHeadsetClient.aidl \
|
2013-02-05 15:28:33 -08:00
|
|
|
core/java/android/bluetooth/IBluetoothGatt.aidl \
|
|
|
|
core/java/android/bluetooth/IBluetoothGattCallback.aidl \
|
|
|
|
core/java/android/bluetooth/IBluetoothGattServerCallback.aidl \
|
2010-08-04 17:48:03 -07:00
|
|
|
core/java/android/content/IClipboard.aidl \
|
2009-07-13 13:07:51 -07:00
|
|
|
core/java/android/content/IContentService.aidl \
|
2009-06-12 10:09:58 -07:00
|
|
|
core/java/android/content/IIntentReceiver.aidl \
|
|
|
|
core/java/android/content/IIntentSender.aidl \
|
2010-08-04 17:48:03 -07:00
|
|
|
core/java/android/content/IOnPrimaryClipChangedListener.aidl \
|
2014-05-24 15:34:37 -07:00
|
|
|
core/java/android/content/IRestrictionsManager.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/content/ISyncAdapter.aidl \
|
|
|
|
core/java/android/content/ISyncContext.aidl \
|
2013-07-26 12:56:39 -07:00
|
|
|
core/java/android/content/ISyncServiceAdapter.aidl \
|
2009-07-13 13:07:51 -07:00
|
|
|
core/java/android/content/ISyncStatusObserver.aidl \
|
2014-02-19 14:31:52 -08:00
|
|
|
core/java/android/content/pm/ILauncherApps.aidl \
|
|
|
|
core/java/android/content/pm/IOnAppsChangedListener.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/content/pm/IPackageDataObserver.aidl \
|
|
|
|
core/java/android/content/pm/IPackageDeleteObserver.aidl \
|
|
|
|
core/java/android/content/pm/IPackageInstallObserver.aidl \
|
2014-03-24 16:25:51 -07:00
|
|
|
core/java/android/content/pm/IPackageInstallObserver2.aidl \
|
2014-04-28 17:36:31 -07:00
|
|
|
core/java/android/content/pm/IPackageInstaller.aidl \
|
|
|
|
core/java/android/content/pm/IPackageInstallerSession.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/content/pm/IPackageManager.aidl \
|
2010-02-19 09:19:34 -08:00
|
|
|
core/java/android/content/pm/IPackageMoveObserver.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/content/pm/IPackageStatsObserver.aidl \
|
|
|
|
core/java/android/database/IContentObserver.aidl \
|
2013-05-31 16:43:48 -07:00
|
|
|
core/java/android/hardware/ICameraService.aidl \
|
|
|
|
core/java/android/hardware/ICameraServiceListener.aidl \
|
|
|
|
core/java/android/hardware/ICamera.aidl \
|
|
|
|
core/java/android/hardware/ICameraClient.aidl \
|
2013-06-26 11:06:51 -07:00
|
|
|
core/java/android/hardware/IConsumerIrService.aidl \
|
2013-05-31 16:43:48 -07:00
|
|
|
core/java/android/hardware/IProCameraUser.aidl \
|
|
|
|
core/java/android/hardware/IProCameraCallbacks.aidl \
|
2013-07-25 17:12:05 -07:00
|
|
|
core/java/android/hardware/camera2/ICameraDeviceUser.aidl \
|
|
|
|
core/java/android/hardware/camera2/ICameraDeviceCallbacks.aidl \
|
2011-08-29 20:11:07 -04:00
|
|
|
core/java/android/hardware/ISerialManager.aidl \
|
2012-07-23 19:26:30 -07:00
|
|
|
core/java/android/hardware/display/IDisplayManager.aidl \
|
2012-08-28 03:27:37 -07:00
|
|
|
core/java/android/hardware/display/IDisplayManagerCallback.aidl \
|
2014-05-08 17:12:51 +09:00
|
|
|
core/java/android/hardware/hdmi/IHdmiControlCallback.aidl \
|
|
|
|
core/java/android/hardware/hdmi/IHdmiControlService.aidl \
|
2014-06-16 11:41:42 +09:00
|
|
|
core/java/android/hardware/hdmi/IHdmiDeviceEventListener.aidl \
|
2014-05-13 16:36:15 +09:00
|
|
|
core/java/android/hardware/hdmi/IHdmiHotplugEventListener.aidl \
|
2012-04-05 14:27:12 -07:00
|
|
|
core/java/android/hardware/input/IInputManager.aidl \
|
2012-04-12 17:32:48 -07:00
|
|
|
core/java/android/hardware/input/IInputDevicesChangedListener.aidl \
|
2013-07-12 15:43:36 -07:00
|
|
|
core/java/android/hardware/location/IFusedLocationHardware.aidl \
|
|
|
|
core/java/android/hardware/location/IFusedLocationHardwareSink.aidl \
|
2013-04-03 12:22:18 -07:00
|
|
|
core/java/android/hardware/location/IGeofenceHardware.aidl \
|
|
|
|
core/java/android/hardware/location/IGeofenceHardwareCallback.aidl \
|
2013-04-17 12:19:10 -07:00
|
|
|
core/java/android/hardware/location/IGeofenceHardwareMonitorCallback.aidl \
|
2011-03-01 08:04:54 -08:00
|
|
|
core/java/android/hardware/usb/IUsbManager.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/net/IConnectivityManager.aidl \
|
2014-05-21 16:23:43 -07:00
|
|
|
core/java/android/net/IEthernetManager.aidl \
|
2010-01-22 16:07:46 -08:00
|
|
|
core/java/android/net/INetworkManagementEventObserver.aidl \
|
2011-05-19 17:12:49 -07:00
|
|
|
core/java/android/net/INetworkPolicyListener.aidl \
|
2011-05-03 20:27:17 -07:00
|
|
|
core/java/android/net/INetworkPolicyManager.aidl \
|
2014-04-29 11:58:26 -07:00
|
|
|
core/java/android/net/INetworkScoreCache.aidl \
|
2014-04-16 17:29:40 -07:00
|
|
|
core/java/android/net/INetworkScoreService.aidl \
|
2011-05-24 18:39:45 -07:00
|
|
|
core/java/android/net/INetworkStatsService.aidl \
|
2012-04-06 11:12:08 -07:00
|
|
|
core/java/android/net/INetworkStatsSession.aidl \
|
2012-03-22 17:01:39 -07:00
|
|
|
core/java/android/net/nsd/INsdManager.aidl \
|
2013-09-02 20:38:47 -07:00
|
|
|
core/java/android/nfc/IAppCallback.aidl \
|
2010-10-14 19:16:35 -07:00
|
|
|
core/java/android/nfc/INfcAdapter.aidl \
|
2011-03-08 11:43:30 -08:00
|
|
|
core/java/android/nfc/INfcAdapterExtras.aidl \
|
2010-10-14 19:16:35 -07:00
|
|
|
core/java/android/nfc/INfcTag.aidl \
|
2013-07-30 20:07:47 -07:00
|
|
|
core/java/android/nfc/INfcCardEmulation.aidl \
|
2013-05-22 18:53:29 -07:00
|
|
|
core/java/android/os/IBatteryPropertiesListener.aidl \
|
|
|
|
core/java/android/os/IBatteryPropertiesRegistrar.aidl \
|
2012-05-07 20:06:46 -07:00
|
|
|
core/java/android/os/ICancellationSignal.aidl \
|
2010-05-17 17:27:30 -04:00
|
|
|
core/java/android/os/IHardwareService.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/os/IMessenger.aidl \
|
2014-02-26 16:20:52 -08:00
|
|
|
core/java/android/os/INetworkActivityListener.aidl \
|
2010-01-14 10:25:07 -08:00
|
|
|
core/java/android/os/INetworkManagementService.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/os/IPermissionController.aidl \
|
|
|
|
core/java/android/os/IPowerManager.aidl \
|
2011-04-20 12:12:33 -07:00
|
|
|
core/java/android/os/IRemoteCallback.aidl \
|
2012-04-23 15:00:43 -07:00
|
|
|
core/java/android/os/ISchedulingPolicyService.aidl \
|
2012-02-23 14:59:36 -08:00
|
|
|
core/java/android/os/IUpdateLock.aidl \
|
2013-03-01 13:25:35 -08:00
|
|
|
core/java/android/os/IUserManager.aidl \
|
2009-11-24 00:30:52 -05:00
|
|
|
core/java/android/os/IVibratorService.aidl \
|
2013-03-22 18:29:23 -07:00
|
|
|
core/java/android/service/notification/INotificationListener.aidl \
|
2014-04-26 10:24:59 -04:00
|
|
|
core/java/android/service/notification/IConditionListener.aidl \
|
2014-04-24 18:50:12 -04:00
|
|
|
core/java/android/service/notification/IConditionProvider.aidl \
|
2013-06-25 14:59:53 -07:00
|
|
|
core/java/android/print/ILayoutResultCallback.aidl \
|
2013-08-20 16:32:53 -07:00
|
|
|
core/java/android/print/IPrinterDiscoveryObserver.aidl \
|
2013-06-25 14:59:53 -07:00
|
|
|
core/java/android/print/IPrintDocumentAdapter.aidl \
|
2013-10-17 22:20:40 -07:00
|
|
|
core/java/android/print/IPrintDocumentAdapterObserver.aidl \
|
2013-09-21 20:30:24 -07:00
|
|
|
core/java/android/print/IPrintJobStateChangeListener.aidl \
|
2013-06-11 15:20:06 -07:00
|
|
|
core/java/android/print/IPrintManager.aidl \
|
2013-06-25 14:59:53 -07:00
|
|
|
core/java/android/print/IPrintSpooler.aidl \
|
|
|
|
core/java/android/print/IPrintSpoolerCallbacks.aidl \
|
|
|
|
core/java/android/print/IPrintSpoolerClient.aidl \
|
|
|
|
core/java/android/print/IWriteResultCallback.aidl \
|
2013-06-11 15:20:06 -07:00
|
|
|
core/java/android/printservice/IPrintService.aidl \
|
|
|
|
core/java/android/printservice/IPrintServiceClient.aidl \
|
2014-01-30 21:47:47 -08:00
|
|
|
core/java/android/service/dreams/IDozeHardware.aidl \
|
2012-01-30 14:33:52 -05:00
|
|
|
core/java/android/service/dreams/IDreamManager.aidl \
|
|
|
|
core/java/android/service/dreams/IDreamService.aidl \
|
2014-04-29 18:18:47 -07:00
|
|
|
core/java/android/service/fingerprint/IFingerprintService.aidl \
|
|
|
|
core/java/android/service/fingerprint/IFingerprintServiceReceiver.aidl \
|
2014-03-28 13:02:19 +01:00
|
|
|
core/java/android/service/trust/ITrustAgentService.aidl \
|
|
|
|
core/java/android/service/trust/ITrustAgentServiceCallback.aidl \
|
2014-04-04 18:02:06 -07:00
|
|
|
core/java/android/service/voice/IVoiceInteractionService.aidl \
|
|
|
|
core/java/android/service/voice/IVoiceInteractionSession.aidl \
|
2014-04-25 17:06:18 -07:00
|
|
|
core/java/android/service/voice/IVoiceInteractionSessionService.aidl \
|
2011-04-20 12:12:33 -07:00
|
|
|
core/java/android/service/wallpaper/IWallpaperConnection.aidl \
|
|
|
|
core/java/android/service/wallpaper/IWallpaperEngine.aidl \
|
|
|
|
core/java/android/service/wallpaper/IWallpaperService.aidl \
|
|
|
|
core/java/android/view/accessibility/IAccessibilityInteractionConnection.aidl\
|
|
|
|
core/java/android/view/accessibility/IAccessibilityInteractionConnectionCallback.aidl\
|
2009-05-14 22:28:01 -07:00
|
|
|
core/java/android/view/accessibility/IAccessibilityManager.aidl \
|
|
|
|
core/java/android/view/accessibility/IAccessibilityManagerClient.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/view/IApplicationToken.aidl \
|
Pack preloaded framework assets in a texture atlas
When the Android runtime starts, the system preloads a series of assets
in the Zygote process. These assets are shared across all processes.
Unfortunately, each one of these assets is later uploaded in its own
OpenGL texture, once per process. This wastes memory and generates
unnecessary OpenGL state changes.
This CL introduces an asset server that provides an atlas to all processes.
Note: bitmaps used by skia shaders are *not* sampled from the atlas.
It's an uncommon use case and would require extra texture transforms
in the GL shaders.
WHAT IS THE ASSETS ATLAS
The "assets atlas" is a single, shareable graphic buffer that contains
all the system's preloaded bitmap drawables (this includes 9-patches.)
The atlas is made of two distinct objects: the graphic buffer that
contains the actual pixels and the map which indicates where each
preloaded bitmap can be found in the atlas (essentially a pair of
x and y coordinates.)
HOW IS THE ASSETS ATLAS GENERATED
Because we need to support a wide variety of devices and because it
is easy to change the list of preloaded drawables, the atlas is
generated at runtime, during the startup phase of the system process.
There are several steps that lead to the atlas generation:
1. If the device is booting for the first time, or if the device was
updated, we need to find the best atlas configuration. To do so,
the atlas service tries a number of width, height and algorithm
variations that allows us to pack as many assets as possible while
using as little memory as possible. Once a best configuration is found,
it gets written to disk in /data/system/framework_atlas
2. Given a best configuration (algorithm variant, dimensions and
number of bitmaps that can be packed in the atlas), the atlas service
packs all the preloaded bitmaps into a single graphic buffer object.
3. The packing is done using Skia in a temporary native bitmap. The
Skia bitmap is then copied into the graphic buffer using OpenGL ES
to benefit from texture swizzling.
HOW PROCESSES USE THE ATLAS
Whenever a process' hardware renderer initializes its EGL context,
it queries the atlas service for the graphic buffer and the map.
It is important to remember that both the context and the map will
be valid for the lifetime of the hardware renderer (if the system
process goes down, all apps get killed as well.)
Every time the hardware renderer needs to render a bitmap, it first
checks whether the bitmap can be found in the assets atlas. When
the bitmap is part of the atlas, texture coordinates are remapped
appropriately before rendering.
Change-Id: I8eaecf53e7f6a33d90da3d0047c5ceec89ea3af0
2013-04-17 18:54:38 -07:00
|
|
|
core/java/android/view/IAssetAtlas.aidl \
|
2012-07-16 08:46:07 -07:00
|
|
|
core/java/android/view/IInputFilter.aidl \
|
|
|
|
core/java/android/view/IInputFilterHost.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/view/IOnKeyguardExitResult.aidl \
|
|
|
|
core/java/android/view/IRotationWatcher.aidl \
|
|
|
|
core/java/android/view/IWindow.aidl \
|
2013-03-01 13:25:35 -08:00
|
|
|
core/java/android/view/IWindowFocusObserver.aidl \
|
|
|
|
core/java/android/view/IWindowId.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/android/view/IWindowManager.aidl \
|
|
|
|
core/java/android/view/IWindowSession.aidl \
|
2014-06-03 17:48:12 -07:00
|
|
|
core/java/android/view/IWindowSessionCallback.aidl \
|
2009-09-15 11:19:58 -07:00
|
|
|
core/java/android/speech/IRecognitionListener.aidl \
|
|
|
|
core/java/android/speech/IRecognitionService.aidl \
|
2011-03-08 16:00:40 +00:00
|
|
|
core/java/android/speech/tts/ITextToSpeechCallback.aidl \
|
|
|
|
core/java/android/speech/tts/ITextToSpeechService.aidl \
|
2013-02-06 23:14:49 -08:00
|
|
|
core/java/com/android/internal/app/IAppOpsCallback.aidl \
|
2012-12-11 16:34:47 -08:00
|
|
|
core/java/com/android/internal/app/IAppOpsService.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/com/android/internal/app/IBatteryStats.aidl \
|
2013-08-07 10:08:22 -07:00
|
|
|
core/java/com/android/internal/app/IProcessStats.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
core/java/com/android/internal/app/IUsageStats.aidl \
|
2014-04-04 18:02:06 -07:00
|
|
|
core/java/com/android/internal/app/IVoiceInteractionManagerService.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 \
|
2010-01-25 12:19:12 -08:00
|
|
|
core/java/com/android/internal/app/IMediaContainerService.aidl \
|
2009-03-11 12:11:56 -07:00
|
|
|
core/java/com/android/internal/appwidget/IAppWidgetService.aidl \
|
|
|
|
core/java/com/android/internal/appwidget/IAppWidgetHost.aidl \
|
2009-04-29 14:03:25 -07:00
|
|
|
core/java/com/android/internal/backup/IBackupTransport.aidl \
|
2013-02-19 14:08:59 -08:00
|
|
|
core/java/com/android/internal/backup/IObbBackupService.aidl \
|
2011-09-05 16:03:14 -07:00
|
|
|
core/java/com/android/internal/policy/IFaceLockCallback.aidl \
|
|
|
|
core/java/com/android/internal/policy/IFaceLockInterface.aidl \
|
2013-02-28 17:36:24 -08:00
|
|
|
core/java/com/android/internal/policy/IKeyguardShowCallback.aidl \
|
|
|
|
core/java/com/android/internal/policy/IKeyguardExitCallback.aidl \
|
2013-01-09 18:50:26 -08:00
|
|
|
core/java/com/android/internal/policy/IKeyguardService.aidl \
|
2009-11-12 11:32:50 -08:00
|
|
|
core/java/com/android/internal/os/IDropBoxManagerService.aidl \
|
2009-03-11 12:11:56 -07:00
|
|
|
core/java/com/android/internal/os/IResultReceiver.aidl \
|
2010-05-02 16:28:15 -07:00
|
|
|
core/java/com/android/internal/statusbar/IStatusBar.aidl \
|
|
|
|
core/java/com/android/internal/statusbar/IStatusBarService.aidl \
|
2011-06-22 16:38:13 +09:00
|
|
|
core/java/com/android/internal/textservice/ISpellCheckerService.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 \
|
2009-03-03 19:31:44 -08:00
|
|
|
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 \
|
2013-03-14 10:59:38 -07:00
|
|
|
core/java/com/android/internal/view/IInputSessionCallback.aidl \
|
2012-03-28 11:42:42 -07:00
|
|
|
core/java/com/android/internal/widget/ILockSettings.aidl \
|
2014-05-22 20:45:59 +02:00
|
|
|
core/java/com/android/internal/widget/ILockSettingsObserver.aidl \
|
2010-07-16 11:18:17 -07:00
|
|
|
core/java/com/android/internal/widget/IRemoteViewsFactory.aidl \
|
2011-01-11 18:05:01 -08:00
|
|
|
core/java/com/android/internal/widget/IRemoteViewsAdapterConnection.aidl \
|
2011-06-09 15:05:35 -07:00
|
|
|
keystore/java/android/security/IKeyChainAliasCallback.aidl \
|
2011-04-11 09:03:51 -07:00
|
|
|
keystore/java/android/security/IKeyChainService.aidl \
|
2010-07-13 15:32:16 +08:00
|
|
|
location/java/android/location/ICountryDetector.aidl \
|
|
|
|
location/java/android/location/ICountryListener.aidl \
|
2013-07-12 15:43:36 -07:00
|
|
|
location/java/android/location/IFusedProvider.aidl \
|
2009-04-15 11:10:11 -04:00
|
|
|
location/java/android/location/IGeocodeProvider.aidl \
|
2013-04-03 12:22:18 -07:00
|
|
|
location/java/android/location/IGeofenceProvider.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
location/java/android/location/IGpsStatusListener.aidl \
|
2009-05-01 07:53:28 -04:00
|
|
|
location/java/android/location/IGpsStatusProvider.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
location/java/android/location/ILocationListener.aidl \
|
|
|
|
location/java/android/location/ILocationManager.aidl \
|
2013-07-12 15:43:36 -07:00
|
|
|
location/java/android/location/IFusedGeofenceHardware.aidl \
|
2013-04-03 12:22:18 -07:00
|
|
|
location/java/android/location/IGpsGeofenceHardware.aidl \
|
2009-08-18 18:28:45 -04:00
|
|
|
location/java/android/location/INetInitiatedListener.aidl \
|
Location overhaul, major commit.
Themes: Fused Location, Geofencing, LocationRequest.
API changes
o Fused location is always returned when asking for location by Criteria.
o Fused location is never returned as a LocationProvider object, nor returned
as a provider String. This wouldn't make sense because the current API
design assumes that LocationProvider's have fixed properties (accuracy, power
etc).
o The fused location engine will tune itself based on the criteria passed
by applications.
o Deprecate LocationProvider. Apps should use fused location (via Criteria
class), instead of enumerating through LocationProvider objects. It is
also over-engineered: designed for a world with a plethora of location
providers that never materialized.
o The Criteria class is also over-engineered, with many methods that aren't
currently used, but for now we won't deprecate them since they may have
value in the future. It is now used to tune the fused location engine.
o Deprecate getBestProvider() and getProvider().
o Add getLastKnownLocation(Criteria), so we can return last known
fused locations.
o Apps with only ACCESS_COARSE_LOCATION _can_ now use the GPS, but the location
they receive will be fudged to a 1km radius. They can also use NETWORK
and fused locatoins, which are fudged in the same way if necessary.
o Totally deprecate Criteria, in favor of LocationRequest.
Criteria was designed to map QOS to a location provider. What we
really need is to map QOS to _locations_.
The death knell was the conflicting ACCURACY_ constants on
Criteria, with values 1, 2, 3, 1, 2. Yes not a typo.
o Totally deprecate LocationProvider.
o Deprecate test/mock provider support. They require a named provider,
which is a concept we are moving away from. We do not yet have a
replacement, but I think its ok to deprecate since you also
need to have 'allow mock locations' checked in developer settings.
They will continue to work.
o Deprecate event codes associated with provider status. The fused
provider is _always_ available.
o Introduce Geofence data object to provide an easier path fowards
for polygons etc.
Implementation changes
o Fused implementation: incoming (GPS and NLP) location fixes are given
a weight, that exponentially decays with respect to age and accuracy.
The half-life of age is ~60 seconds, and the half-life of accuracy is
~20 meters. The fixes are weighted and combined to output a fused
location.
o Move Fused Location impl into
frameworks/base/packages/FusedLocation
o Refactor Fused Location behind the IProvider AIDL interface. This allow us
to distribute newer versions of Fused Location in a new APK, at run-time.
o Introduce ServiceWatcher.java, to refactor code used for run-time upgrades of
Fused Location, and the NLP.
o Fused Location is by default run in the system server (but can be moved to
any process or pacakge, even at run-time).
o Plumb the Criteria requirements through to the Fused Location provider via
ILocation.sendExtraCommand(). I re-used this interface to avoid modifying the
ILocation interface, which would have broken run-time upgradability of the
NLP.
o Switch the geofence manager to using fused location.
o Clean up 'adb shell dumpsys location' output.
o Introduce config_locationProviderPackageNames and
config_overlay_locationProviderPackageNames to configure the default
and overlay package names for Geocoder, NLP and FLP.
o Lots of misc cleanup.
o Improve location fudging. Apply random vector then quantize.
o Hide internal POJO's from clients of com.android.location.provider.jar
(NLP and FLP). Introduce wrappers ProviderRequestUnbundled and
ProviderPropertiesUnbundled.
o Introduce ProviderProperties to collapse all the provider accuracy/
bearing/altitude/power plumbing (that is deprecated anyway).
o DELETE lots of code: DummyLocationProvider,
o Rename the (internal) LocationProvider to LocationProviderBase.
o Plumb pid, uid and packageName throughout
LocationManagerService#Receiver to support future features.
TODO: The FLP and Geofencer have a lot of room to be more intelligent
TODO: Documentation
TODO: test test test
Change-Id: Iacefd2f176ed40ce1e23b090a164792aa8819c55
2012-07-16 12:18:23 -07:00
|
|
|
location/java/com/android/internal/location/ILocationProvider.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
media/java/android/media/IAudioService.aidl \
|
2010-01-28 11:56:42 -08:00
|
|
|
media/java/android/media/IAudioFocusDispatcher.aidl \
|
2012-06-19 14:03:09 -07:00
|
|
|
media/java/android/media/IAudioRoutesObserver.aidl \
|
2014-01-29 10:32:46 -08:00
|
|
|
media/java/android/media/IMediaHTTPConnection.aidl \
|
|
|
|
media/java/android/media/IMediaHTTPService.aidl \
|
2013-11-07 00:30:16 -08:00
|
|
|
media/java/android/media/IMediaRouterClient.aidl \
|
|
|
|
media/java/android/media/IMediaRouterService.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
media/java/android/media/IMediaScannerListener.aidl \
|
|
|
|
media/java/android/media/IMediaScannerService.aidl \
|
2011-08-18 19:16:47 -07:00
|
|
|
media/java/android/media/IRemoteControlClient.aidl \
|
|
|
|
media/java/android/media/IRemoteControlDisplay.aidl \
|
2013-11-05 16:29:21 -08:00
|
|
|
media/java/android/media/IRemoteDisplayCallback.aidl \
|
|
|
|
media/java/android/media/IRemoteDisplayProvider.aidl \
|
2012-06-19 14:03:09 -07:00
|
|
|
media/java/android/media/IRemoteVolumeObserver.aidl \
|
2012-04-26 17:30:34 -07:00
|
|
|
media/java/android/media/IRingtonePlayer.aidl \
|
2014-05-20 16:25:37 -04:00
|
|
|
media/java/android/media/IVolumeController.aidl \
|
2014-06-04 16:53:45 -07:00
|
|
|
media/java/android/media/routeprovider/IRouteConnection.aidl \
|
|
|
|
media/java/android/media/routeprovider/IRouteProvider.aidl \
|
|
|
|
media/java/android/media/routeprovider/IRouteProviderCallback.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/ISession.aidl \
|
|
|
|
media/java/android/media/session/ISessionCallback.aidl \
|
|
|
|
media/java/android/media/session/ISessionManager.aidl \
|
2014-05-30 16:57:43 -07:00
|
|
|
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/ITvInputService.aidl \
|
|
|
|
media/java/android/media/tv/ITvInputServiceCallback.aidl \
|
|
|
|
media/java/android/media/tv/ITvInputSession.aidl \
|
|
|
|
media/java/android/media/tv/ITvInputSessionCallback.aidl \
|
2014-03-08 18:01:06 -08:00
|
|
|
telecomm/java/com/android/internal/telecomm/ICallService.aidl \
|
|
|
|
telecomm/java/com/android/internal/telecomm/ICallServiceAdapter.aidl \
|
|
|
|
telecomm/java/com/android/internal/telecomm/ICallServiceLookupResponse.aidl \
|
|
|
|
telecomm/java/com/android/internal/telecomm/ICallServiceProvider.aidl \
|
|
|
|
telecomm/java/com/android/internal/telecomm/ICallServiceSelector.aidl \
|
2014-04-01 20:09:57 -07:00
|
|
|
telecomm/java/com/android/internal/telecomm/ICallServiceSelectorAdapter.aidl \
|
2014-03-08 18:01:06 -08:00
|
|
|
telecomm/java/com/android/internal/telecomm/IInCallAdapter.aidl \
|
|
|
|
telecomm/java/com/android/internal/telecomm/IInCallService.aidl \
|
2014-05-21 15:22:12 -07:00
|
|
|
telecomm/java/com/android/internal/telecomm/ITelecommService.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
telephony/java/com/android/internal/telephony/IPhoneStateListener.aidl \
|
|
|
|
telephony/java/com/android/internal/telephony/IPhoneSubInfo.aidl \
|
|
|
|
telephony/java/com/android/internal/telephony/ITelephony.aidl \
|
2013-11-12 13:26:27 -08:00
|
|
|
telephony/java/com/android/internal/telephony/IThirdPartyCallListener.aidl \
|
|
|
|
telephony/java/com/android/internal/telephony/IThirdPartyCallProvider.aidl \
|
2014-02-11 22:22:42 -08:00
|
|
|
telephony/java/com/android/internal/telephony/IThirdPartyCallSendDtmfCallback.aidl \
|
2013-11-12 13:26:27 -08:00
|
|
|
telephony/java/com/android/internal/telephony/IThirdPartyCallService.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl \
|
2014-03-21 11:31:32 -07:00
|
|
|
telephony/java/com/android/internal/telephony/ISms.aidl \
|
2010-08-20 08:10:00 +09:00
|
|
|
telephony/java/com/android/internal/telephony/IWapPushManager.aidl \
|
2014-06-12 17:02:31 -07:00
|
|
|
telephony/java/com/android/internal/telephony/ISub.aidl \
|
2014-06-18 18:17:52 -07:00
|
|
|
telephony/java/com/android/internal/telephony/IMms.aidl \
|
2009-03-27 18:24:06 -07:00
|
|
|
wifi/java/android/net/wifi/IWifiManager.aidl \
|
2014-05-15 14:46:49 -07:00
|
|
|
wifi/java/android/net/wifi/passpoint/IWifiPasspointManager.aidl \
|
2013-07-03 17:04:33 -04:00
|
|
|
wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl \
|
2014-05-07 21:09:11 -07:00
|
|
|
wifi/java/android/net/wifi/IWifiScanner.aidl \
|
2013-08-12 16:42:38 -04:00
|
|
|
packages/services/PacProcessor/com/android/net/IProxyService.aidl \
|
2013-08-23 19:21:25 -04:00
|
|
|
packages/services/Proxy/com/android/net/IProxyCallback.aidl \
|
|
|
|
packages/services/Proxy/com/android/net/IProxyPortListener.aidl \
|
2009-12-08 12:47:12 -08:00
|
|
|
|
2009-03-03 19:31:44 -08:00
|
|
|
# FRAMEWORKS_BASE_JAVA_SRC_DIRS comes from build/core/pathmap.mk
|
|
|
|
LOCAL_AIDL_INCLUDES += $(FRAMEWORKS_BASE_JAVA_SRC_DIRS)
|
|
|
|
|
|
|
|
LOCAL_INTERMEDIATE_SOURCES := \
|
2010-07-14 19:58:30 -07:00
|
|
|
$(framework_res_source_path)/android/R.java \
|
|
|
|
$(framework_res_source_path)/android/Manifest.java \
|
|
|
|
$(framework_res_source_path)/com/android/internal/R.java
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
LOCAL_NO_STANDARD_LIBRARIES := true
|
2014-06-18 15:11:01 -07:00
|
|
|
LOCAL_JAVA_LIBRARIES := core-libart conscrypt okhttp core-junit bouncycastle ext
|
2009-03-03 19:31:44 -08:00
|
|
|
|
2013-07-17 20:44:57 -07:00
|
|
|
LOCAL_MODULE := framework-base
|
|
|
|
|
2013-08-14 17:01:33 -07:00
|
|
|
LOCAL_RMTYPEDEFS := true
|
2013-07-17 20:44:57 -07:00
|
|
|
|
|
|
|
include $(BUILD_STATIC_JAVA_LIBRARY)
|
|
|
|
|
|
|
|
# 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)
|
|
|
|
|
|
|
|
# Build part 1 of the framework library.
|
|
|
|
# ============================================================
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
|
2009-03-03 19:31:44 -08:00
|
|
|
LOCAL_MODULE := framework
|
|
|
|
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
|
2013-07-17 20:44:57 -07:00
|
|
|
LOCAL_NO_STANDARD_LIBRARIES := true
|
|
|
|
LOCAL_STATIC_JAVA_LIBRARIES := framework-base
|
|
|
|
LOCAL_DX_FLAGS := --core-library
|
|
|
|
|
2014-05-23 18:36:38 -07:00
|
|
|
# List of packages to include along with their descendants.
|
2014-05-22 12:12:12 +02:00
|
|
|
LOCAL_JAR_PACKAGES := \
|
2014-05-23 18:36:38 -07:00
|
|
|
android
|
|
|
|
|
|
|
|
# List of packages to exclude along with their descendants.
|
|
|
|
# Overrides inclusion.
|
|
|
|
LOCAL_JAR_EXCLUDE_PACKAGES := \
|
|
|
|
android.hardware
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
# List of classes and interfaces which should be loaded by the Zygote.
|
|
|
|
LOCAL_JAVA_RESOURCE_FILES += $(LOCAL_PATH)/preloaded-classes
|
|
|
|
|
2013-07-17 20:44:57 -07:00
|
|
|
include $(BUILD_JAVA_LIBRARY)
|
|
|
|
framework_module := $(LOCAL_INSTALLED_MODULE)
|
2009-03-03 19:31:44 -08:00
|
|
|
|
2013-07-17 20:44:57 -07:00
|
|
|
# Build part 2 of the framework library.
|
|
|
|
# ============================================================
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
|
|
|
|
LOCAL_MODULE := framework2
|
|
|
|
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
|
|
|
|
LOCAL_NO_STANDARD_LIBRARIES := true
|
|
|
|
LOCAL_STATIC_JAVA_LIBRARIES := framework-base
|
2009-03-03 19:31:44 -08:00
|
|
|
LOCAL_DX_FLAGS := --core-library
|
|
|
|
|
2014-05-23 18:36:38 -07:00
|
|
|
# List of packages to include along with their descendants.
|
2014-05-22 12:12:12 +02:00
|
|
|
LOCAL_JAR_PACKAGES := \
|
2014-05-23 18:36:38 -07:00
|
|
|
android.hardware \
|
|
|
|
com \
|
|
|
|
javax
|
2009-03-03 19:31:44 -08:00
|
|
|
|
2013-07-17 20:44:57 -07:00
|
|
|
include $(BUILD_JAVA_LIBRARY)
|
|
|
|
framework2_module := $(LOCAL_INSTALLED_MODULE)
|
2009-03-03 19:31:44 -08:00
|
|
|
|
2013-07-17 20:44:57 -07:00
|
|
|
# Make sure that all framework modules are installed when framework is.
|
|
|
|
# ============================================================
|
|
|
|
$(framework_module): | $(dir $(framework_module))framework-res.apk
|
|
|
|
$(framework_module): | $(dir $(framework_module))framework2.jar
|
2009-03-03 19:31:44 -08:00
|
|
|
|
2013-07-17 20:44:57 -07:00
|
|
|
framework_built := $(call java-lib-deps,framework framework2)
|
2009-03-03 19:31:44 -08:00
|
|
|
|
2013-07-17 20:44:57 -07:00
|
|
|
# Copy AIDL files to be preprocessed and included in the SDK,
|
|
|
|
# specified relative to the root of the build tree.
|
2009-03-03 19:31:44 -08:00
|
|
|
# ============================================================
|
2013-07-17 20:44:57 -07:00
|
|
|
include $(CLEAR_VARS)
|
|
|
|
|
2009-03-03 19:31:44 -08:00
|
|
|
aidl_files := \
|
2009-03-24 22:48:12 -07:00
|
|
|
frameworks/base/core/java/android/accounts/IAccountManager.aidl \
|
|
|
|
frameworks/base/core/java/android/accounts/IAccountManagerResponse.aidl \
|
|
|
|
frameworks/base/core/java/android/accounts/IAccountAuthenticator.aidl \
|
|
|
|
frameworks/base/core/java/android/accounts/IAccountAuthenticatorResponse.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
frameworks/base/core/java/android/app/Notification.aidl \
|
|
|
|
frameworks/base/core/java/android/app/PendingIntent.aidl \
|
2013-04-22 15:52:03 +10:00
|
|
|
frameworks/base/core/java/android/appwidget/AppWidgetProviderInfo.aidl \
|
2009-11-04 17:23:55 -08:00
|
|
|
frameworks/base/core/java/android/bluetooth/BluetoothDevice.aidl \
|
2011-04-01 16:33:09 -07:00
|
|
|
frameworks/base/core/java/android/bluetooth/BluetoothHealthAppConfiguration.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
frameworks/base/core/java/android/content/ComponentName.aidl \
|
2013-04-22 15:52:03 +10:00
|
|
|
frameworks/base/core/java/android/content/ContentValues.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
frameworks/base/core/java/android/content/Intent.aidl \
|
2009-06-12 10:09:58 -07:00
|
|
|
frameworks/base/core/java/android/content/IntentSender.aidl \
|
2010-01-27 12:17:49 -08:00
|
|
|
frameworks/base/core/java/android/content/PeriodicSync.aidl \
|
2013-06-18 15:44:11 -07:00
|
|
|
frameworks/base/core/java/android/content/SyncRequest.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
frameworks/base/core/java/android/content/SyncStats.aidl \
|
|
|
|
frameworks/base/core/java/android/content/res/Configuration.aidl \
|
2013-04-22 15:52:03 +10:00
|
|
|
frameworks/base/core/java/android/database/CursorWindow.aidl \
|
2013-08-12 18:50:30 -07:00
|
|
|
frameworks/base/core/java/android/hardware/location/GeofenceHardwareRequestParcelable.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
frameworks/base/core/java/android/net/Uri.aidl \
|
2010-10-14 19:16:35 -07:00
|
|
|
frameworks/base/core/java/android/nfc/NdefMessage.aidl \
|
|
|
|
frameworks/base/core/java/android/nfc/NdefRecord.aidl \
|
|
|
|
frameworks/base/core/java/android/nfc/Tag.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
frameworks/base/core/java/android/os/Bundle.aidl \
|
2009-11-12 11:32:50 -08:00
|
|
|
frameworks/base/core/java/android/os/DropBoxManager.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
frameworks/base/core/java/android/os/ParcelFileDescriptor.aidl \
|
2009-09-28 12:33:17 -07:00
|
|
|
frameworks/base/core/java/android/os/ParcelUuid.aidl \
|
2014-01-21 15:22:26 -08:00
|
|
|
frameworks/base/core/java/android/print/PrinterInfo.aidl \
|
|
|
|
frameworks/base/core/java/android/print/PageRange.aidl \
|
|
|
|
frameworks/base/core/java/android/print/PrintAttributes.aidl \
|
|
|
|
frameworks/base/core/java/android/print/PrinterCapabilitiesInfo.aidl \
|
|
|
|
frameworks/base/core/java/android/print/PrinterId.aidl \
|
|
|
|
frameworks/base/core/java/android/print/PrintJobId.aidl \
|
|
|
|
frameworks/base/core/java/android/print/PrintJobInfo.aidl \
|
|
|
|
frameworks/base/core/java/android/view/accessibility/AccessibilityEvent.aidl \
|
|
|
|
frameworks/base/core/java/android/view/accessibility/AccessibilityNodeInfo.aidl \
|
|
|
|
frameworks/base/core/java/android/view/accessibility/AccessibilityRecord.aidl \
|
Added accessibility APIs for introspecting interactive windows.
1. The old introspection model was allowing querying only the active window
which is the one the user is touching or the focused one if no window is
touched. This was limiting as auto completion drop downs were not inspectable,
there was not way to know when the IME toggles, non-focusable windows were
not inspectable if the user taps them as until a screen-reader starts
introspecting the users finger is up, accessibility focus was limited to
only one window and the user couldn't use gestures to visit the whole UI,
and other things I can't remember right now.
The new APIs allow getting all interactive windows, i.e. ones that a
sighted user can interact with. This prevents an accessibility service
from interacting with content a sighter user cannot. The list of windows
can be obtained from an accessibility service or the host window from an
accessibility node info. Introspecting windows obey the same rules for
introspecting node, i.e. the service has to declare this capability
in its manifest.
When some windows change accessibility services receive a new type
of event. Initially the types of windows is very limited. We provide
the bounds in screen, layer, and some other properties which are
enough for a client to determined the spacial and hierarchical
relationship of the windows.
2. Update the documentation in AccessibilityService for newer event types.
3. LongArray was not removing elements properly.
4. Composite accessibility node ids were not properly constructed as they
are composed of two ints, each taking 32 bits. However, the values for
undefined were -1 so composing a 64 long from -1, -1 prevents from getting
back these values when unpacking.
5. Some apps were generating inconsistent AccessibilityNodeInfo tree. Added
a check that enforces such trees to be well formed on dev builds.
6. Removed an necessary code for piping the touch exploration state to
the policy as it should just use the AccessibilityManager from context.
7. When view's visibility changed it was not firing an event to notify
clients it disappeared/appeared. Also ViewGroup was sending accessibility
events for changes if the view is included for accessibility but this is
wrong as there may be a service that want all nodes, hence events from them.
The accessibility manager service takes care of delivering events from
not important for accessibility nodes only to services that want such.
8. Several places were asking for prefetching of sibling but not predecessor
nodes which resulted in prefetching of unconnected subtrees.
9. The local AccessibilityManager implementation was relying on the backing
service being ready when it is created but it can be fetched from a context
before that. If that happens the local manager was in a broken state forever.
Now it is more robust and starts working properly once the backing service
is up. Several places were lacking locking.
bug:13331285
Change-Id: Ie51166d4875d5f3def8d29d77973da4b9251f5c8
2014-02-24 13:46:47 -08:00
|
|
|
frameworks/base/core/java/android/view/accessibility/AccessibilityWindowInfo.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
frameworks/base/core/java/android/view/KeyEvent.aidl \
|
|
|
|
frameworks/base/core/java/android/view/MotionEvent.aidl \
|
|
|
|
frameworks/base/core/java/android/view/Surface.aidl \
|
|
|
|
frameworks/base/core/java/android/view/WindowManager.aidl \
|
2014-03-13 11:17:26 -07:00
|
|
|
frameworks/base/core/java/android/view/WindowAnimationFrameStats.aidl \
|
|
|
|
frameworks/base/core/java/android/view/WindowContentFrameStats.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
frameworks/base/core/java/android/widget/RemoteViews.aidl \
|
2011-06-22 16:38:13 +09:00
|
|
|
frameworks/base/core/java/com/android/internal/textservice/ISpellCheckerService.aidl \
|
|
|
|
frameworks/base/core/java/com/android/internal/textservice/ISpellCheckerSession.aidl \
|
|
|
|
frameworks/base/core/java/com/android/internal/textservice/ISpellCheckerSessionListener.aidl \
|
|
|
|
frameworks/base/core/java/com/android/internal/textservice/ITextServicesManager.aidl \
|
|
|
|
frameworks/base/core/java/com/android/internal/textservice/ITextServicesSessionListener.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
frameworks/base/core/java/com/android/internal/view/IInputContext.aidl \
|
|
|
|
frameworks/base/core/java/com/android/internal/view/IInputMethod.aidl \
|
|
|
|
frameworks/base/core/java/com/android/internal/view/IInputMethodClient.aidl \
|
|
|
|
frameworks/base/core/java/com/android/internal/view/IInputMethodManager.aidl \
|
|
|
|
frameworks/base/core/java/com/android/internal/view/IInputMethodSession.aidl \
|
|
|
|
frameworks/base/graphics/java/android/graphics/Bitmap.aidl \
|
|
|
|
frameworks/base/graphics/java/android/graphics/Rect.aidl \
|
|
|
|
frameworks/base/graphics/java/android/graphics/Region.aidl \
|
|
|
|
frameworks/base/location/java/android/location/Criteria.aidl \
|
Location overhaul, major commit.
Themes: Fused Location, Geofencing, LocationRequest.
API changes
o Fused location is always returned when asking for location by Criteria.
o Fused location is never returned as a LocationProvider object, nor returned
as a provider String. This wouldn't make sense because the current API
design assumes that LocationProvider's have fixed properties (accuracy, power
etc).
o The fused location engine will tune itself based on the criteria passed
by applications.
o Deprecate LocationProvider. Apps should use fused location (via Criteria
class), instead of enumerating through LocationProvider objects. It is
also over-engineered: designed for a world with a plethora of location
providers that never materialized.
o The Criteria class is also over-engineered, with many methods that aren't
currently used, but for now we won't deprecate them since they may have
value in the future. It is now used to tune the fused location engine.
o Deprecate getBestProvider() and getProvider().
o Add getLastKnownLocation(Criteria), so we can return last known
fused locations.
o Apps with only ACCESS_COARSE_LOCATION _can_ now use the GPS, but the location
they receive will be fudged to a 1km radius. They can also use NETWORK
and fused locatoins, which are fudged in the same way if necessary.
o Totally deprecate Criteria, in favor of LocationRequest.
Criteria was designed to map QOS to a location provider. What we
really need is to map QOS to _locations_.
The death knell was the conflicting ACCURACY_ constants on
Criteria, with values 1, 2, 3, 1, 2. Yes not a typo.
o Totally deprecate LocationProvider.
o Deprecate test/mock provider support. They require a named provider,
which is a concept we are moving away from. We do not yet have a
replacement, but I think its ok to deprecate since you also
need to have 'allow mock locations' checked in developer settings.
They will continue to work.
o Deprecate event codes associated with provider status. The fused
provider is _always_ available.
o Introduce Geofence data object to provide an easier path fowards
for polygons etc.
Implementation changes
o Fused implementation: incoming (GPS and NLP) location fixes are given
a weight, that exponentially decays with respect to age and accuracy.
The half-life of age is ~60 seconds, and the half-life of accuracy is
~20 meters. The fixes are weighted and combined to output a fused
location.
o Move Fused Location impl into
frameworks/base/packages/FusedLocation
o Refactor Fused Location behind the IProvider AIDL interface. This allow us
to distribute newer versions of Fused Location in a new APK, at run-time.
o Introduce ServiceWatcher.java, to refactor code used for run-time upgrades of
Fused Location, and the NLP.
o Fused Location is by default run in the system server (but can be moved to
any process or pacakge, even at run-time).
o Plumb the Criteria requirements through to the Fused Location provider via
ILocation.sendExtraCommand(). I re-used this interface to avoid modifying the
ILocation interface, which would have broken run-time upgradability of the
NLP.
o Switch the geofence manager to using fused location.
o Clean up 'adb shell dumpsys location' output.
o Introduce config_locationProviderPackageNames and
config_overlay_locationProviderPackageNames to configure the default
and overlay package names for Geocoder, NLP and FLP.
o Lots of misc cleanup.
o Improve location fudging. Apply random vector then quantize.
o Hide internal POJO's from clients of com.android.location.provider.jar
(NLP and FLP). Introduce wrappers ProviderRequestUnbundled and
ProviderPropertiesUnbundled.
o Introduce ProviderProperties to collapse all the provider accuracy/
bearing/altitude/power plumbing (that is deprecated anyway).
o DELETE lots of code: DummyLocationProvider,
o Rename the (internal) LocationProvider to LocationProviderBase.
o Plumb pid, uid and packageName throughout
LocationManagerService#Receiver to support future features.
TODO: The FLP and Geofencer have a lot of room to be more intelligent
TODO: Documentation
TODO: test test test
Change-Id: Iacefd2f176ed40ce1e23b090a164792aa8819c55
2012-07-16 12:18:23 -07:00
|
|
|
frameworks/base/location/java/android/location/Geofence.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
frameworks/base/location/java/android/location/Location.aidl \
|
Location overhaul, major commit.
Themes: Fused Location, Geofencing, LocationRequest.
API changes
o Fused location is always returned when asking for location by Criteria.
o Fused location is never returned as a LocationProvider object, nor returned
as a provider String. This wouldn't make sense because the current API
design assumes that LocationProvider's have fixed properties (accuracy, power
etc).
o The fused location engine will tune itself based on the criteria passed
by applications.
o Deprecate LocationProvider. Apps should use fused location (via Criteria
class), instead of enumerating through LocationProvider objects. It is
also over-engineered: designed for a world with a plethora of location
providers that never materialized.
o The Criteria class is also over-engineered, with many methods that aren't
currently used, but for now we won't deprecate them since they may have
value in the future. It is now used to tune the fused location engine.
o Deprecate getBestProvider() and getProvider().
o Add getLastKnownLocation(Criteria), so we can return last known
fused locations.
o Apps with only ACCESS_COARSE_LOCATION _can_ now use the GPS, but the location
they receive will be fudged to a 1km radius. They can also use NETWORK
and fused locatoins, which are fudged in the same way if necessary.
o Totally deprecate Criteria, in favor of LocationRequest.
Criteria was designed to map QOS to a location provider. What we
really need is to map QOS to _locations_.
The death knell was the conflicting ACCURACY_ constants on
Criteria, with values 1, 2, 3, 1, 2. Yes not a typo.
o Totally deprecate LocationProvider.
o Deprecate test/mock provider support. They require a named provider,
which is a concept we are moving away from. We do not yet have a
replacement, but I think its ok to deprecate since you also
need to have 'allow mock locations' checked in developer settings.
They will continue to work.
o Deprecate event codes associated with provider status. The fused
provider is _always_ available.
o Introduce Geofence data object to provide an easier path fowards
for polygons etc.
Implementation changes
o Fused implementation: incoming (GPS and NLP) location fixes are given
a weight, that exponentially decays with respect to age and accuracy.
The half-life of age is ~60 seconds, and the half-life of accuracy is
~20 meters. The fixes are weighted and combined to output a fused
location.
o Move Fused Location impl into
frameworks/base/packages/FusedLocation
o Refactor Fused Location behind the IProvider AIDL interface. This allow us
to distribute newer versions of Fused Location in a new APK, at run-time.
o Introduce ServiceWatcher.java, to refactor code used for run-time upgrades of
Fused Location, and the NLP.
o Fused Location is by default run in the system server (but can be moved to
any process or pacakge, even at run-time).
o Plumb the Criteria requirements through to the Fused Location provider via
ILocation.sendExtraCommand(). I re-used this interface to avoid modifying the
ILocation interface, which would have broken run-time upgradability of the
NLP.
o Switch the geofence manager to using fused location.
o Clean up 'adb shell dumpsys location' output.
o Introduce config_locationProviderPackageNames and
config_overlay_locationProviderPackageNames to configure the default
and overlay package names for Geocoder, NLP and FLP.
o Lots of misc cleanup.
o Improve location fudging. Apply random vector then quantize.
o Hide internal POJO's from clients of com.android.location.provider.jar
(NLP and FLP). Introduce wrappers ProviderRequestUnbundled and
ProviderPropertiesUnbundled.
o Introduce ProviderProperties to collapse all the provider accuracy/
bearing/altitude/power plumbing (that is deprecated anyway).
o DELETE lots of code: DummyLocationProvider,
o Rename the (internal) LocationProvider to LocationProviderBase.
o Plumb pid, uid and packageName throughout
LocationManagerService#Receiver to support future features.
TODO: The FLP and Geofencer have a lot of room to be more intelligent
TODO: Documentation
TODO: test test test
Change-Id: Iacefd2f176ed40ce1e23b090a164792aa8819c55
2012-07-16 12:18:23 -07:00
|
|
|
frameworks/base/location/java/android/location/LocationRequest.aidl \
|
2013-07-12 15:43:36 -07:00
|
|
|
frameworks/base/location/java/android/location/FusedBatchOptions.aidl \
|
Location overhaul, major commit.
Themes: Fused Location, Geofencing, LocationRequest.
API changes
o Fused location is always returned when asking for location by Criteria.
o Fused location is never returned as a LocationProvider object, nor returned
as a provider String. This wouldn't make sense because the current API
design assumes that LocationProvider's have fixed properties (accuracy, power
etc).
o The fused location engine will tune itself based on the criteria passed
by applications.
o Deprecate LocationProvider. Apps should use fused location (via Criteria
class), instead of enumerating through LocationProvider objects. It is
also over-engineered: designed for a world with a plethora of location
providers that never materialized.
o The Criteria class is also over-engineered, with many methods that aren't
currently used, but for now we won't deprecate them since they may have
value in the future. It is now used to tune the fused location engine.
o Deprecate getBestProvider() and getProvider().
o Add getLastKnownLocation(Criteria), so we can return last known
fused locations.
o Apps with only ACCESS_COARSE_LOCATION _can_ now use the GPS, but the location
they receive will be fudged to a 1km radius. They can also use NETWORK
and fused locatoins, which are fudged in the same way if necessary.
o Totally deprecate Criteria, in favor of LocationRequest.
Criteria was designed to map QOS to a location provider. What we
really need is to map QOS to _locations_.
The death knell was the conflicting ACCURACY_ constants on
Criteria, with values 1, 2, 3, 1, 2. Yes not a typo.
o Totally deprecate LocationProvider.
o Deprecate test/mock provider support. They require a named provider,
which is a concept we are moving away from. We do not yet have a
replacement, but I think its ok to deprecate since you also
need to have 'allow mock locations' checked in developer settings.
They will continue to work.
o Deprecate event codes associated with provider status. The fused
provider is _always_ available.
o Introduce Geofence data object to provide an easier path fowards
for polygons etc.
Implementation changes
o Fused implementation: incoming (GPS and NLP) location fixes are given
a weight, that exponentially decays with respect to age and accuracy.
The half-life of age is ~60 seconds, and the half-life of accuracy is
~20 meters. The fixes are weighted and combined to output a fused
location.
o Move Fused Location impl into
frameworks/base/packages/FusedLocation
o Refactor Fused Location behind the IProvider AIDL interface. This allow us
to distribute newer versions of Fused Location in a new APK, at run-time.
o Introduce ServiceWatcher.java, to refactor code used for run-time upgrades of
Fused Location, and the NLP.
o Fused Location is by default run in the system server (but can be moved to
any process or pacakge, even at run-time).
o Plumb the Criteria requirements through to the Fused Location provider via
ILocation.sendExtraCommand(). I re-used this interface to avoid modifying the
ILocation interface, which would have broken run-time upgradability of the
NLP.
o Switch the geofence manager to using fused location.
o Clean up 'adb shell dumpsys location' output.
o Introduce config_locationProviderPackageNames and
config_overlay_locationProviderPackageNames to configure the default
and overlay package names for Geocoder, NLP and FLP.
o Lots of misc cleanup.
o Improve location fudging. Apply random vector then quantize.
o Hide internal POJO's from clients of com.android.location.provider.jar
(NLP and FLP). Introduce wrappers ProviderRequestUnbundled and
ProviderPropertiesUnbundled.
o Introduce ProviderProperties to collapse all the provider accuracy/
bearing/altitude/power plumbing (that is deprecated anyway).
o DELETE lots of code: DummyLocationProvider,
o Rename the (internal) LocationProvider to LocationProviderBase.
o Plumb pid, uid and packageName throughout
LocationManagerService#Receiver to support future features.
TODO: The FLP and Geofencer have a lot of room to be more intelligent
TODO: Documentation
TODO: test test test
Change-Id: Iacefd2f176ed40ce1e23b090a164792aa8819c55
2012-07-16 12:18:23 -07:00
|
|
|
frameworks/base/location/java/com/android/internal/location/ProviderProperties.aidl \
|
|
|
|
frameworks/base/location/java/com/android/internal/location/ProviderRequest.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
frameworks/base/telephony/java/android/telephony/ServiceState.aidl \
|
|
|
|
frameworks/base/telephony/java/com/android/internal/telephony/IPhoneSubInfo.aidl \
|
2009-06-08 22:05:22 -07:00
|
|
|
frameworks/base/telephony/java/com/android/internal/telephony/ITelephony.aidl \
|
2013-08-01 18:24:13 -07:00
|
|
|
frameworks/base/wifi/java/android/net/wifi/BatchedScanSettings.aidl \
|
|
|
|
frameworks/base/wifi/java/android/net/wifi/BatchedScanResult.aidl \
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
gen := $(TARGET_OUT_COMMON_INTERMEDIATES)/framework.aidl
|
|
|
|
$(gen): PRIVATE_SRC_FILES := $(aidl_files)
|
|
|
|
ALL_SDK_FILES += $(gen)
|
|
|
|
$(gen): $(aidl_files) | $(AIDL)
|
|
|
|
@echo Aidl Preprocess: $@
|
|
|
|
$(hide) $(AIDL) --preprocess $@ $(PRIVATE_SRC_FILES)
|
|
|
|
|
|
|
|
# the documentation
|
|
|
|
# ============================================================
|
|
|
|
|
|
|
|
# TODO: deal with com/google/android/googleapps
|
|
|
|
packages_to_document := \
|
|
|
|
android \
|
|
|
|
javax/microedition/khronos
|
|
|
|
|
|
|
|
# Search through the base framework dirs for these packages.
|
|
|
|
# The result will be relative to frameworks/base.
|
|
|
|
fwbase_dirs_to_document := \
|
2010-02-19 10:49:27 -08:00
|
|
|
test-runner/src \
|
2009-03-03 19:31:44 -08:00
|
|
|
$(patsubst $(LOCAL_PATH)/%,%, \
|
|
|
|
$(wildcard \
|
|
|
|
$(foreach dir, $(FRAMEWORKS_BASE_JAVA_SRC_DIRS), \
|
|
|
|
$(addprefix $(dir)/, $(packages_to_document)) \
|
|
|
|
) \
|
|
|
|
) \
|
|
|
|
)
|
|
|
|
|
2011-01-05 17:52:36 -08:00
|
|
|
# include definition of libcore_to_document
|
2012-04-16 10:13:59 -07:00
|
|
|
include libcore/Docs.mk
|
|
|
|
|
|
|
|
# include definition of junit_to_document
|
|
|
|
include external/junit/Common.mk
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
non_base_dirs := \
|
2012-07-10 12:37:54 -07:00
|
|
|
../../external/apache-http/src/org/apache/http \
|
2013-09-18 13:18:09 -07:00
|
|
|
../opt/telephony/src/java/android/provider \
|
2012-07-10 12:37:54 -07:00
|
|
|
../opt/telephony/src/java/android/telephony \
|
|
|
|
../opt/telephony/src/java/android/telephony/gsm \
|
2013-01-28 15:27:47 -08:00
|
|
|
../opt/net/voip/src/java/android/net/rtp \
|
|
|
|
../opt/net/voip/src/java/android/net/sip
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
# These are relative to frameworks/base
|
2011-11-17 11:53:46 -08:00
|
|
|
dirs_to_check_apis := \
|
|
|
|
$(fwbase_dirs_to_document) \
|
2011-03-24 14:14:28 -07:00
|
|
|
$(non_base_dirs)
|
2009-03-03 19:31:44 -08:00
|
|
|
|
2011-11-17 11:53:46 -08:00
|
|
|
# These are relative to frameworks/base
|
|
|
|
# FRAMEWORKS_BASE_SUBDIRS comes from build/core/pathmap.mk
|
|
|
|
dirs_to_document := \
|
|
|
|
$(dirs_to_check_apis) \
|
|
|
|
$(addprefix ../../, $(FRAMEWORKS_SUPPORT_JAVA_SRC_DIRS))
|
|
|
|
|
|
|
|
# These are relative to frameworks/base
|
2009-03-03 19:31:44 -08:00
|
|
|
html_dirs := \
|
|
|
|
$(FRAMEWORKS_BASE_SUBDIRS) \
|
|
|
|
$(non_base_dirs)
|
|
|
|
|
2011-11-17 11:53:46 -08:00
|
|
|
# Common sources for doc check and api check
|
|
|
|
common_src_files := \
|
|
|
|
$(call find-other-html-files, $(html_dirs)) \
|
2013-12-04 16:01:06 -08:00
|
|
|
$(addprefix ../../libcore/, $(libcore_to_document)) \
|
|
|
|
$(addprefix ../../external/junit/, $(junit_to_document))
|
2011-11-17 11:53:46 -08:00
|
|
|
|
2009-03-03 19:31:44 -08:00
|
|
|
# These are relative to frameworks/base
|
|
|
|
framework_docs_LOCAL_SRC_FILES := \
|
|
|
|
$(call find-other-java-files, $(dirs_to_document)) \
|
2011-11-17 11:53:46 -08:00
|
|
|
$(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)) \
|
|
|
|
$(common_src_files)
|
2009-03-03 19:31:44 -08:00
|
|
|
|
2010-05-17 18:21:44 -07:00
|
|
|
# This is used by ide.mk as the list of source files that are
|
|
|
|
# always included.
|
|
|
|
INTERNAL_SDK_SOURCE_DIRS := $(addprefix $(LOCAL_PATH)/,$(dirs_to_document))
|
|
|
|
|
2009-03-03 19:31:44 -08:00
|
|
|
framework_docs_LOCAL_DROIDDOC_SOURCE_PATH := \
|
|
|
|
$(FRAMEWORKS_BASE_JAVA_SRC_DIRS)
|
|
|
|
|
|
|
|
framework_docs_LOCAL_INTERMEDIATE_SOURCES := \
|
2013-04-25 21:24:44 -07:00
|
|
|
$(framework_res_source_path)/android/R.java \
|
|
|
|
$(framework_res_source_path)/android/Manifest.java \
|
|
|
|
$(framework_res_source_path)/com/android/internal/R.java
|
|
|
|
|
|
|
|
framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES := \
|
2014-06-18 15:11:01 -07:00
|
|
|
core-libart \
|
2013-04-29 23:09:03 -07:00
|
|
|
conscrypt \
|
2014-06-18 15:11:01 -07:00
|
|
|
bouncycastle \
|
2013-04-26 12:02:36 -07:00
|
|
|
okhttp \
|
2013-04-25 21:24:44 -07:00
|
|
|
ext \
|
|
|
|
framework \
|
2013-07-17 20:44:57 -07:00
|
|
|
framework2 \
|
2013-04-25 21:24:44 -07:00
|
|
|
mms-common \
|
|
|
|
telephony-common \
|
|
|
|
voip-common
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
framework_docs_LOCAL_JAVA_LIBRARIES := \
|
2013-04-25 21:24:44 -07:00
|
|
|
$(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES) \
|
|
|
|
$(FRAMEWORKS_SUPPORT_JAVA_LIBRARIES)
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
framework_docs_LOCAL_MODULE_CLASS := JAVA_LIBRARIES
|
2010-08-27 15:05:39 -04:00
|
|
|
framework_docs_LOCAL_DROIDDOC_HTML_DIR := docs/html
|
2009-07-31 13:03:36 -07:00
|
|
|
# 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.
|
2014-06-10 10:28:08 -07:00
|
|
|
#
|
|
|
|
# Conscrypt (com.android.org.conscrypt) is an implementation detail and should
|
|
|
|
# not be referenced in the documentation.
|
2009-03-03 19:31:44 -08:00
|
|
|
framework_docs_LOCAL_DROIDDOC_OPTIONS := \
|
2010-09-16 11:56:03 -04:00
|
|
|
-knowntags ./frameworks/base/docs/knowntags.txt \
|
2014-06-10 10:28:08 -07:00
|
|
|
-hidePackage com.android.org.conscrypt \
|
2012-12-04 15:12:49 -08:00
|
|
|
-since $(SRC_API_DIR)/1.xml 1 \
|
|
|
|
-since $(SRC_API_DIR)/2.xml 2 \
|
|
|
|
-since $(SRC_API_DIR)/3.xml 3 \
|
|
|
|
-since $(SRC_API_DIR)/4.xml 4 \
|
|
|
|
-since $(SRC_API_DIR)/5.xml 5 \
|
|
|
|
-since $(SRC_API_DIR)/6.xml 6 \
|
|
|
|
-since $(SRC_API_DIR)/7.xml 7 \
|
|
|
|
-since $(SRC_API_DIR)/8.xml 8 \
|
|
|
|
-since $(SRC_API_DIR)/9.xml 9 \
|
|
|
|
-since $(SRC_API_DIR)/10.xml 10 \
|
|
|
|
-since $(SRC_API_DIR)/11.xml 11 \
|
|
|
|
-since $(SRC_API_DIR)/12.xml 12 \
|
|
|
|
-since $(SRC_API_DIR)/13.xml 13 \
|
|
|
|
-since $(SRC_API_DIR)/14.txt 14 \
|
|
|
|
-since $(SRC_API_DIR)/15.txt 15 \
|
|
|
|
-since $(SRC_API_DIR)/16.txt 16 \
|
|
|
|
-since $(SRC_API_DIR)/17.txt 17 \
|
2013-04-11 11:37:29 -07:00
|
|
|
-since $(SRC_API_DIR)/18.txt 18 \
|
2013-10-03 16:46:53 -07:00
|
|
|
-since $(SRC_API_DIR)/19.txt 19 \
|
2014-06-18 15:11:01 -07:00
|
|
|
-werror -hide 111 -hide 113 \
|
2009-03-03 19:31:44 -08:00
|
|
|
-overview $(LOCAL_PATH)/core/java/overview.html
|
|
|
|
|
2013-04-25 21:24:44 -07:00
|
|
|
framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR:= \
|
2013-07-17 20:44:57 -07:00
|
|
|
$(call intermediates-dir-for,JAVA_LIBRARIES,framework-base,,COMMON)
|
2013-04-25 21:24:44 -07:00
|
|
|
|
|
|
|
framework_docs_LOCAL_ADDITIONAL_JAVA_DIR:= \
|
|
|
|
$(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR) \
|
2013-05-10 20:37:12 -07:00
|
|
|
$(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))
|
2010-09-16 11:56:03 -04:00
|
|
|
|
|
|
|
framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES := \
|
|
|
|
frameworks/base/docs/knowntags.txt
|
2009-03-03 19:31:44 -08:00
|
|
|
|
2013-11-21 18:11:58 -08:00
|
|
|
samples_dir := development/samples/browseable
|
2009-03-03 19:31:44 -08:00
|
|
|
|
2013-09-11 11:53:35 -07:00
|
|
|
# Whitelist of valid groups, used for default TOC grouping. Each sample must
|
|
|
|
# belong to one (and only one) group. Assign samples to groups by setting
|
|
|
|
# a sample.group var to one of these groups in the sample's _index.jd.
|
2013-10-29 20:59:20 -07:00
|
|
|
sample_groups := -samplegroup Background \
|
|
|
|
-samplegroup Connectivity \
|
|
|
|
-samplegroup Content \
|
|
|
|
-samplegroup Input \
|
|
|
|
-samplegroup Media \
|
2014-02-07 21:05:43 -08:00
|
|
|
-samplegroup RenderScript \
|
2013-10-29 20:59:20 -07:00
|
|
|
-samplegroup Security \
|
2014-02-07 21:05:43 -08:00
|
|
|
-samplegroup Sensors \
|
2013-10-29 20:59:20 -07:00
|
|
|
-samplegroup Testing \
|
|
|
|
-samplegroup UI \
|
|
|
|
-samplegroup Views
|
2013-09-11 11:53:35 -07:00
|
|
|
|
2009-08-05 19:04:18 -07:00
|
|
|
## SDK version identifiers used in the published docs
|
|
|
|
# major[.minor] version for current SDK. (full releases only)
|
2013-10-04 13:43:26 -07:00
|
|
|
framework_docs_SDK_VERSION:=4.4
|
2009-08-05 19:04:18 -07:00
|
|
|
# release version (ie "Release x") (full releases only)
|
2011-02-07 16:35:46 -08:00
|
|
|
framework_docs_SDK_REL_ID:=1
|
2009-04-20 17:56:34 -07:00
|
|
|
|
|
|
|
framework_docs_LOCAL_DROIDDOC_OPTIONS += \
|
|
|
|
-hdf sdk.version $(framework_docs_SDK_VERSION) \
|
2010-11-29 14:28:13 -08:00
|
|
|
-hdf sdk.rel.id $(framework_docs_SDK_REL_ID) \
|
2013-11-21 18:11:58 -08:00
|
|
|
-hdf sdk.preview 0
|
2009-03-03 19:31:44 -08:00
|
|
|
|
2009-07-20 11:57:12 -04:00
|
|
|
# ==== the api stubs and current.xml ===========================
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
|
2011-11-17 11:53:46 -08:00
|
|
|
LOCAL_SRC_FILES:=$(framework_docs_LOCAL_API_CHECK_SRC_FILES)
|
2009-07-20 11:57:12 -04:00
|
|
|
LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
|
2013-04-25 21:24:44 -07:00
|
|
|
LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES)
|
2009-07-20 11:57:12 -04:00
|
|
|
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)
|
2013-04-25 21:24:44 -07:00
|
|
|
LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR)
|
2010-09-16 11:56:03 -04:00
|
|
|
LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
|
2009-07-20 11:57:12 -04:00
|
|
|
|
|
|
|
LOCAL_MODULE := api-stubs
|
|
|
|
|
|
|
|
LOCAL_DROIDDOC_OPTIONS:=\
|
|
|
|
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
|
|
|
|
-stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_stubs_current_intermediates/src \
|
2011-03-09 13:34:39 -08:00
|
|
|
-api $(INTERNAL_PLATFORM_API_FILE) \
|
2014-02-21 14:13:00 -08:00
|
|
|
-removedApi $(INTERNAL_PLATFORM_REMOVED_API_FILE) \
|
2009-07-20 11:57:12 -04:00
|
|
|
-nodocs
|
|
|
|
|
|
|
|
LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
|
|
|
|
|
2010-09-01 10:41:35 -07:00
|
|
|
LOCAL_UNINSTALLABLE_MODULE := true
|
|
|
|
|
2009-07-20 11:57:12 -04:00
|
|
|
include $(BUILD_DROIDDOC)
|
|
|
|
|
2010-05-07 15:00:10 -07:00
|
|
|
# $(gen), i.e. framework.aidl, is also needed while building against the current stub.
|
|
|
|
$(full_target): $(framework_built) $(gen)
|
2009-07-20 11:57:12 -04:00
|
|
|
$(INTERNAL_PLATFORM_API_FILE): $(full_target)
|
|
|
|
$(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_API_FILE))
|
|
|
|
|
2014-06-14 10:50:28 -07:00
|
|
|
# ==== the system api stubs ===================================
|
2014-03-21 11:31:32 -07:00
|
|
|
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)
|
|
|
|
|
2014-06-14 10:50:28 -07:00
|
|
|
LOCAL_MODULE := system-api-stubs
|
2014-03-21 11:31:32 -07:00
|
|
|
|
|
|
|
LOCAL_DROIDDOC_OPTIONS:=\
|
|
|
|
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
|
2014-06-14 10:50:28 -07:00
|
|
|
-stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_system_stubs_current_intermediates/src \
|
2014-06-05 17:14:39 -07:00
|
|
|
-showAnnotation android.annotation.SystemApi \
|
2014-03-21 11:31:32 -07:00
|
|
|
-nodocs
|
|
|
|
|
|
|
|
LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
|
|
|
|
|
|
|
|
LOCAL_UNINSTALLABLE_MODULE := true
|
|
|
|
|
|
|
|
include $(BUILD_DROIDDOC)
|
|
|
|
|
2010-08-27 17:13:22 -04:00
|
|
|
# ==== check javadoc comments but don't generate docs ========
|
|
|
|
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)
|
2010-09-16 11:56:03 -04:00
|
|
|
LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
|
2010-08-27 17:13:22 -04:00
|
|
|
|
|
|
|
LOCAL_MODULE := doc-comment-check
|
|
|
|
|
|
|
|
LOCAL_DROIDDOC_OPTIONS:=\
|
|
|
|
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
|
|
|
|
-parsecomments
|
|
|
|
|
|
|
|
LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
|
|
|
|
|
2010-09-01 10:41:35 -07:00
|
|
|
LOCAL_UNINSTALLABLE_MODULE := true
|
|
|
|
|
2010-08-27 17:13:22 -04:00
|
|
|
include $(BUILD_DROIDDOC)
|
|
|
|
|
|
|
|
# $(gen), i.e. framework.aidl, is also needed while building against the current stub.
|
|
|
|
$(full_target): $(framework_built) $(gen)
|
|
|
|
|
2012-09-27 17:09:53 -07:00
|
|
|
# Run this for checkbuild
|
|
|
|
checkbuild: doc-comment-check-docs
|
2014-05-07 10:26:44 -07:00
|
|
|
# Check comment when you are updating the API
|
|
|
|
update-api: doc-comment-check-docs
|
2010-08-27 17:13:22 -04:00
|
|
|
|
2009-03-03 19:31:44 -08:00
|
|
|
# ==== 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)
|
2010-09-16 11:56:03 -04:00
|
|
|
LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
LOCAL_MODULE := offline-sdk
|
|
|
|
|
|
|
|
LOCAL_DROIDDOC_OPTIONS:=\
|
|
|
|
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
|
2013-08-21 14:47:12 -07:00
|
|
|
-offlinemode \
|
2009-03-03 19:31:44 -08:00
|
|
|
-title "Android SDK" \
|
|
|
|
-proofread $(OUT_DOCS)/$(LOCAL_MODULE)-proofread.txt \
|
|
|
|
-todo $(OUT_DOCS)/$(LOCAL_MODULE)-docs-todo.html \
|
|
|
|
-sdkvalues $(OUT_DOCS) \
|
2010-08-25 12:12:57 -07:00
|
|
|
-hdf android.whichdoc offline
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
|
|
|
|
|
|
|
|
include $(BUILD_DROIDDOC)
|
|
|
|
|
|
|
|
static_doc_index_redirect := $(out_dir)/index.html
|
|
|
|
$(static_doc_index_redirect): \
|
2009-04-20 17:56:34 -07:00
|
|
|
$(LOCAL_PATH)/docs/docs-documentation-redirect.html | $(ACP)
|
2009-03-03 19:31:44 -08:00
|
|
|
$(hide) mkdir -p $(dir $@)
|
|
|
|
$(hide) $(ACP) $< $@
|
|
|
|
|
|
|
|
$(full_target): $(static_doc_index_redirect)
|
|
|
|
$(full_target): $(framework_built)
|
|
|
|
|
2013-01-28 15:43:49 -08:00
|
|
|
# ==== docs for the web (on the androiddevdocs app engine server) =======================
|
2009-03-03 19:31:44 -08:00
|
|
|
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)
|
2010-09-16 11:56:03 -04:00
|
|
|
LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
|
2013-11-19 13:15:07 -08:00
|
|
|
LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
LOCAL_MODULE := online-sdk
|
|
|
|
|
|
|
|
LOCAL_DROIDDOC_OPTIONS:= \
|
2009-04-20 17:56:34 -07:00
|
|
|
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
|
|
|
|
-toroot / \
|
2013-11-22 14:01:48 -08:00
|
|
|
-hdf android.whichdoc online \
|
|
|
|
$(sample_groups) \
|
|
|
|
-hdf android.hasSamples true \
|
|
|
|
-samplesdir $(samples_dir)
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
|
|
|
|
|
|
|
|
include $(BUILD_DROIDDOC)
|
|
|
|
|
2013-01-28 15:43:49 -08:00
|
|
|
# ==== 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)
|
|
|
|
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)
|
|
|
|
# specify a second html input dir and an output path relative to OUT_DIR)
|
2013-11-19 13:15:07 -08:00
|
|
|
LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl/intl /
|
2013-01-28 15:43:49 -08:00
|
|
|
|
|
|
|
LOCAL_MODULE := ds
|
|
|
|
|
|
|
|
LOCAL_DROIDDOC_OPTIONS:= \
|
|
|
|
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
|
|
|
|
-devsite \
|
|
|
|
-toroot / \
|
2013-01-29 08:29:40 -08:00
|
|
|
-hdf android.whichdoc online \
|
|
|
|
-hdf devsite true
|
2013-01-28 15:43:49 -08:00
|
|
|
|
2013-01-29 14:20:13 -08:00
|
|
|
LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
|
2013-01-28 15:43:49 -08:00
|
|
|
|
|
|
|
include $(BUILD_DROIDDOC)
|
|
|
|
|
2009-03-03 19:31:44 -08:00
|
|
|
# ==== docs that have all of the stuff that's @hidden =======================
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
|
|
|
|
LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
|
|
|
|
LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
|
2013-07-17 20:44:57 -07:00
|
|
|
LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
|
2009-03-03 19:31:44 -08:00
|
|
|
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)
|
2011-05-17 13:12:42 -07:00
|
|
|
LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
|
2010-09-16 11:56:03 -04:00
|
|
|
LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
LOCAL_MODULE := hidden
|
|
|
|
LOCAL_DROIDDOC_OPTIONS:=\
|
|
|
|
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
|
2010-08-25 12:12:57 -07:00
|
|
|
-title "Android SDK - Including hidden APIs."
|
|
|
|
# -hidden
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
|
|
|
|
|
|
|
|
include $(BUILD_DROIDDOC)
|
|
|
|
|
|
|
|
# Build ext.jar
|
|
|
|
# ============================================================
|
|
|
|
|
2010-10-19 14:54:05 -07:00
|
|
|
# NOTICE notes for non-obvious sections
|
|
|
|
# apache-http - covered by the Apache Commons section.
|
|
|
|
|
|
|
|
|
2009-03-03 19:31:44 -08:00
|
|
|
ext_dirs := \
|
2010-08-05 12:17:37 +08:00
|
|
|
../../external/nist-sip/java \
|
2009-03-03 19:31:44 -08:00
|
|
|
../../external/apache-http/src \
|
2010-06-07 10:25:53 +08:00
|
|
|
../../external/tagsoup/src \
|
|
|
|
../../external/libphonenumber/java/src
|
2009-03-03 19:31:44 -08:00
|
|
|
|
|
|
|
ext_src_files := $(call all-java-files-under,$(ext_dirs))
|
|
|
|
|
2010-06-07 10:25:53 +08:00
|
|
|
ext_res_dirs := \
|
|
|
|
../../external/libphonenumber/java/src
|
|
|
|
|
2009-03-03 19:31:44 -08:00
|
|
|
# ==== the library =========================================
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
|
|
|
|
LOCAL_SRC_FILES := $(ext_src_files)
|
|
|
|
|
|
|
|
LOCAL_NO_STANDARD_LIBRARIES := true
|
2014-06-18 15:11:01 -07:00
|
|
|
LOCAL_JAVA_LIBRARIES := core-libart
|
2010-06-07 10:25:53 +08:00
|
|
|
LOCAL_JAVA_RESOURCE_DIRS := $(ext_res_dirs)
|
2010-09-16 17:50:43 -07:00
|
|
|
LOCAL_MODULE_TAGS := optional
|
2009-03-03 19:31:44 -08:00
|
|
|
LOCAL_MODULE := ext
|
|
|
|
|
2011-04-01 15:49:41 -07:00
|
|
|
LOCAL_DX_FLAGS := --core-library
|
|
|
|
|
2009-03-03 19:31:44 -08:00
|
|
|
include $(BUILD_JAVA_LIBRARY)
|
|
|
|
|
|
|
|
|
|
|
|
# Include subdirectory makefiles
|
|
|
|
# ============================================================
|
|
|
|
|
|
|
|
# If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework
|
|
|
|
# team really wants is to build the stuff defined by this makefile.
|
|
|
|
ifeq (,$(ONE_SHOT_MAKEFILE))
|
|
|
|
include $(call first-makefiles-under,$(LOCAL_PATH))
|
|
|
|
endif
|
2013-09-30 16:35:37 -07:00
|
|
|
|
|
|
|
endif # ANDROID_BUILD_EMBEDDED
|