1833 Commits

Author SHA1 Message Date
Mathew Inwood
1b04588ea6 Merge generated greylists into final greylist.
With annotations for greylist entries, each java target generates it own
greylist.txt file. Merge all of these into the final greylist.txt.

Bug: 110868826
Test: m
Change-Id: I6a64c65000f1fd9f49e09b5b498bdccc3560d606
2018-07-23 18:06:58 +01:00
David Brazdil
6f6a126b9c Build dark greylist from public + light grey API
The dark greylist is meant to contain non-SDK APIs which are "related"
to APIs accessible to apps without restrictions. The list used to be
built as all non-SDK APIs in the same package as those on the light
greylist. That is not sufficient and should include the public SDK API
packages too.

This patch modifies the makefile to generate a list of public API DEX
signatures with Doclava and then use that as a basis for the dark
greylist generation.

Bug: 80461842
Bug: 64382372
Test: make out/target/common/obj/PACKAGING/hiddenapi-blacklist.txt
Change-Id: I4b1588013f26661207126b4006cdef0a0fc8ae2c
2018-06-07 09:45:01 +00:00
David Brazdil
f24f0a9c71 Include in hidden API dark greylist based on package name
Dark greylist has so far been populated with the remaining class
members of classes listed on the light greylist. This patch changes
the rule to include all remaining classes and class members in the
same package (sub-packages not included).

Bug: 64382372
Test: make -j64 out/target/common/obj/PACKAGING/hiddenapi-dark-greylist.txt
Change-Id: Icf3f60f1e776f092103c612fc3995ce0e66617ea
Merged-In: Icf3f60f1e776f092103c612fc3995ce0e66617ea
(cherry picked from commit 4c3c03129ba95dccab30ba7579dc91b97843271f)
2018-05-11 16:18:32 +01:00
David Brazdil
259e1629af Manualy blacklist certain hidden APIs
Previous CL introduced the concept of populating the dark greylist
with remaining members of classes on the light greylist. This breaks
the assumption that some methods/fields will always remain blacklisted.
Introduce a new file which forces their blacklisting and adjust the
build rules accordingly.

Bug: 64382372
Test: make out/target/common/obj/PACKAGING/hiddenapi-blacklist.txt
Merged-In: I8b20e03c50f4027a24d2a6081bedb08bc8a34011
Change-Id: I8b20e03c50f4027a24d2a6081bedb08bc8a34011
(cherry picked from commit 4b34f79a35a6602962ed1df1accd9d6ea6e41e77)
2018-05-09 09:33:42 +01:00
David Brazdil
6afca53da1 Populate hidden API dark greylist
This patch will iterate over all classes in the light greylist and
add the remaining (currently blacklisted) class members into the
dark greylist. This is meant to mitigate the impact of the feature
on legacy apps, in case their hidden API uses have not been detected
by our analyses. The dark greylist entries will be available to apps
targeting pre-P SDK versions, but blocked for apps targeting P or later.

Bug: 64382372
Test: make out/target/common/obj/PACKAGING/hiddenapi-dark-greylist.txt
Merged-In: Id1ef4ab523b3b4d1333b5fbf2b3e6622ef2be607
Change-Id: Id1ef4ab523b3b4d1333b5fbf2b3e6622ef2be607
(cherry picked from commit 185f00e6677cea3fb135648f4a19d22dec54bbb5)
2018-05-09 09:27:24 +01:00
David Brazdil
74502c7500 Refactor build rules for hidden API lists
The build rules were getting messy and too difficult to extend.
Extract assertions into own functions, create shared variables.

Bug: 64382372
Test: make out/target/common/obj/PACKAGING/hiddenapi-blacklist.txt
Merged-In: Ie34adb8b5349b30daa2e9e4976d285f6d9711f0e
Change-Id: Ie34adb8b5349b30daa2e9e4976d285f6d9711f0e
(cherry picked from commit 721bc8e6a8b1350c62b4a570f523541d1ce1124a)
2018-05-09 09:24:02 +01:00
David Brazdil
d39b9be2f7 Enable hidden API blacklist in AOSP
The CL copies the build rule for hidden API lists from the internal
tree to AOSP. This is not a cherry-pick but it will make the rules
the same in all the branches. As a result, the blacklist becomes
enabled in AOSP.

Test: make
Merged-In: I8757a66bf625388e6f6419714ef5bba7af5d93ea
Change-Id: I567c10dc8e833aa0a6775ab91f2ce9553b0dd8df
2018-05-08 12:50:27 +01:00
David Brazdil
b545e03683 Remove hiddenapi-blacklist.txt
Create an empty file in the build rule instead. Do not merged this
beyond AOSP. We have an implicitly built blacklist everywhere else.

Bug: 64382372
Test: make
Change-Id: I4e13e5daf635934a152d389a95bf45c482b5a87f
Merged-In: Ifa912f8751025b7de24a982a1a227a9c27d18267
2018-05-03 12:14:45 +01:00
David Brazdil
cc88bdc14c Add rule to build hidden API blacklist
Add a new Makefile rule 'hiddenapi-b-blacklist' which takes the
manually published hiddenapi-p-light-greylist.txt and subtracts it
from private-dex.txt built for the current branch. This is meant to
provide an approximation of the blacklist in internal branches.

Bug: 64382372
Test: make hiddenapi-aosp-blacklist
Change-Id: I528a70cc6a71e988b53d94ca7ef81d6c181e5153
2018-05-03 10:54:26 +01:00
Anton Hansson
e5bf20608a Move frameworks/base off the SRC_API_DIR variable.
This directory is going away. Migrate to the new paths, and replace the
long list of "since" arguments with a loop in the makefile. Also fix the
soong buildfile to use the new path and the 28 prebuilts.

This removes the need to update it every time an API is finalized (in make,
I don't know how to make loops in soong).

Bug: 77525052
Test: Verified variable is the same before & after, except for path change
Change-Id: I1d4e87e7840e979b83779a2aefe176e7c1ed1527
Merged-In: I1d4e87e7840e979b83779a2aefe176e7c1ed1527
2018-04-23 15:46:19 +01:00
Nan Zhang
54963cba91 Remove Make side (system/test-)api-stubs droiddoc targets
Remove old droiddoc targets for api-stubs, system-api-stubs, and test-api-stubs.

And also set api_tag_name, api_filename, private_api_filename, and etc.
properties in Android.bp for new droiddoc.
Test: manually compare if dependencies change after Soong based droiddoc runs.
Bug: b/70351683

Change-Id: I8d944c83de120ec8148276adc1c9872113d9d29b
Merged-In: I8d944c83de120ec8148276adc1c9872113d9d29b
2018-03-20 11:43:51 -07:00
Tobias Thierer
97bb6cf371 Remove com.android.internal{.util} from generated documentation.
com.android.internal.* is meant to be hidden from documentation,
but most of it is erroneously not hidden via @hide or -hidePackage
directives; why documentation is currently generated for Predicate
but not other classes from com.android.internal.util, and why some
but not all classes from that package show up in package-level
documentation (package-summary.html), is not currently understood.

There appears to be a behavior difference between OpenJDK 8 and
OpenJDK 9's javadoc that results in additional classes showing up
in package-summary.html. This CL fixes this by adding -hidePackage
directives for com.android.internal{.util}; other sub-packages of
com.android.internal do not currently show up in documentation and
are not touched by this CL.

Test: Patched this CL into the internal-master branch and ran:
      USE_R8=true EXPERIMENTAL_USE_OPENJDK9=true make offline-sdk-docs
      Checked that this removes all documentation for com.*
      (com.android.internal.util was the only com.* package for which
      documentation was previously generated).
      In other words: Before this CL, [1] existed, but after
      this CL, the entire directory subtree [2] does not exist.
Test: Checked that Predicate was already missing from stubs before this
      CL. In other words, [3] already did not exist before this CL.

[1] out/target/common/docs/offline-sdk/reference/com/android/internal/util/Predicate.html
[2] out/target/common/docs/offline-sdk/reference/com
[3] out/target/common/obj/JAVA_LIBRARIES/android_system_stubs_current_intermediates/classes/com

Bug: 69736344
Bug: 69736236

Change-Id: I3243e2820348c338a54e42c72d29bed71389a6c4
2018-03-06 12:05:28 +00:00
Neil Fuller
76ac7e6319 Remove icu4j dependency.
This dependency is no longer required: it was added
for libcore when libcore was implemented in terms of
com.icu classes. libcore has since moved to android.icu
(in core-libart) and so the droiddoc dependency is no
longer required.

Test: make droid docs
Merged-In: I6e4e79a7df201fdc2cefa60037adf831593eaa0f
Change-Id: I6e4e79a7df201fdc2cefa60037adf831593eaa0f
2018-02-26 21:22:38 +00:00
Andreas Gampe
7b9b5d7544 Framework: Disable [MissingOverride] for platformprotos
Bug: 72714520
Test: m javac-check-platformprotos RUN_ERROR_PRONE=true
Merged-In: I00f5a588fa74621d4c35dc4e39b54536815ad476
Change-Id: I00f5a588fa74621d4c35dc4e39b54536815ad476
2018-02-16 01:34:21 +00:00
Colin Cross
fdbe7d1ca9 Don't put android.os.Parcelable in framework.aidl
Parcelable shouldn't be in the list of parcelables in framework.aidl.
Remove it to fix warning when running aidl:
framework.aidl:287 attempt to redefine built in class android.os.Parcelable

Also make the dependency on sdk_parcelables not be order-only so
framework.aidl gets rebuilt when sdk_parcelables changes.

Bug: 73135791
Test: ParcelableDetectorTest
Test: out/target/common/obj/framework.aidl does not contain android.os.Parcelable
Change-Id: If5222879be9ec1e5fa08810adc624ec526ddc0ec
2018-02-09 11:29:15 -08:00
David Brazdil
f16ac00fe8 Copy hidden API blacklist/dark greylist into build folder
This change is meant for ART buildbots which build against a pinned
commit of the framework and thus do not have the commit which
introduced hidden API lists. Normal builds will now copy the blacklist
and dark greylist into the build folder first, and then generate the
light greylist as usual. If a buildbot does not have the framework
changes, it can create dummy API lists in the build folder before
starting the build and avoid the issue.

Test: make
Bug: 64382372
Change-Id: Ib6e53a45bcc917abb4ba67fdcbf01d4a19c2d56f
2018-01-26 11:49:54 +00:00
David Brazdil
0649c8d5b3 Create hidden API lists
Android is beginning to put restrictions on the usage of private APIs.
In order to facilitate a transitionary period, some APIs will remain
accessible but issue a warning (greylist), other will see restrictions
right away (blacklist).

This patch create two new text files which will be used to store manual
lists of dex signatures of hidden APIs. These are the blacklist and
dark greylist. They should be mutually exclusive and both be subsets of
INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE. The last list, light greylist,
is generated as INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE minus the two
manual lists.

Bug: 64382372
Test: m
Change-Id: Ia694ef79bece819c87db853ccaea5e95f38d3e84
2018-01-24 20:48:37 +00:00
David Brazdil
a793f3ff52 Generate new API signatures from doclava
Doclava now generates API signatures of classes and their members
which are not part of the public SDK. Adjust the arguments passed
to Doclava to enable that feature.

Bug: 64382372
Test: m
Change-Id: I47de683dd2b00fce73b82581a13fbe1013ef625f
2018-01-18 10:40:11 +00:00
Holly Jiuyu Sun
bbc858006f Add APIs to EuiccCardManager.
The CL contains parts of the EuiccCard APIs. getEid() is sync. All the
other APIs are async.
Move ResetOptions from EuiccCard to EuiccCardManager.
The other APIs will be added in a follow-up CL.

Bug: 38206971
Test: test on phone
Change-Id: Iba098ee779b8ea4e244e0e4cf7318139666cc94b
2018-01-17 16:38:42 -08:00
Paul Duffin
2141827700 Move legacy-test to test-base
Make it consistent with the test-mock and test-runner directories.
Also renames the files in api/ subdirectory.

(cherry picked from commit f779efd62cd579f67bd3b387d59fda11ee0cbe90)

Bug: 30188076
Test: make checkbuild
Change-Id: Ied3621e6201d8717223fe1ccd4ea77d458126b25
Merged-In: If4f99a65fcca416ede5b3e63481398f0b451bcb7
2018-01-12 15:52:39 +00:00
yuemingw
9361a1394c Add public ApnSetting in android.telephony.
Bug: 68208293
Test: manual

Add public ApnSetting class in android.telephony. Move APN TYPE constants out from
PhoneConstants into public ApnTypeConstants.

Design doc: https://docs.google.com/document/d/1UEYjhRGSEwwccPLs_FzFD-IeOsVq63gxmAHNtDfnzAY/edit?pli=1#

Change-Id: I74d23644a872df0abc19730285ae196b6e3e39dd
2018-01-10 03:17:05 +00:00
Colin Cross
c9f25c4ee5 Remove obsolete aidl list
Remove the obsolete aidl list, framework.aidl is now generated
from the stubs jars.

Bug: 70046217
Test: m checkbuild
Change-Id: I2417f0a8f193bd4db4058f6f0bb05c147e18de25
Merged-In: I2417f0a8f193bd4db4058f6f0bb05c147e18de25
(cherry picked from commit fac48f998e763060dfdfb6e76927ec85aa63e1eb)
2018-01-05 17:40:27 -08:00
Colin Cross
153fb1c6e0 Merge changes I9de0ffe9,Idc804896
* changes:
  Use sdkparcelables to generate framework.aidl
  Initial sdkparcelables
2018-01-04 00:48:50 +00:00
Jack Yu
23192ff57f Added AIDL for cell identity
Added AIDL for CellIdentityCdma, CellIdentityGsm, CellIdentityLte
and CellIdentityWcdma. This is the preliminary change for IWLAN
refactoring as network registration state will be moving into
system API.

Test: Build
bug: 64132030
Merged-In: I6763d4b6e51cf354b01ee5bfb5d37114394f3063
Change-Id: I6763d4b6e51cf354b01ee5bfb5d37114394f3063
(cherry picked from commit 31db18a4c078b77f011170a27eb95c94398efde6)
2017-12-27 23:29:49 -08:00
Colin Cross
77ebd08d17 Use sdkparcelables to generate framework.aidl
Use sdkparcelables to extract public parcelables from the
public, test, and system stubs jars, and combine them into
framework.aidl.

Bug: 70046217
Test: m checkbuild
Change-Id: I9de0ffe9dffbd80c8cb785b0624959c52c3200a1
2017-12-16 20:43:50 -08:00
Colin Cross
d330eeeeda Merge "Separate android.test.mock from test-runner source" 2017-12-12 23:25:48 +00:00
Paul Duffin
69516f4df7 Separate android.test.mock from test-runner source
Extracts the source for the android.test.mock library from the
frameworks/base/test-runner directory into its own
frameworks/base/test-mock directory. They are already treated separately
at runtime and compile time so this just makes the separation complete.

Bug: 30188076
Test: make checkbuild
Change-Id: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6
Merged-In: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6
(cherry picked from commit e254526f0fe5d22681555bd4a00b7ee96fee1dc1)
2017-12-12 23:23:31 +00:00
Jack Yu
b592e29f28 Moved data connection response into system api.
This is a preliminary step for IWLAN refactoring, where data response
will be one of the parameter in data service callback.

Test: Telephony sanity tests
bug: 64132030
Merged-In: I7eb5318cd75ca3b7a29d5bf0da18d6b29a228ee1
Change-Id: I7eb5318cd75ca3b7a29d5bf0da18d6b29a228ee1
(cherry picked from commit e44609b15866d080e0f8813b99d04b51a6f32929)
2017-12-08 13:28:07 -08:00
Jeff Sharkey
2337aec921 Deeper sanity checking of emitted types.
When emitting a method or field, verify that we're able to reference
all mentioned types.  This ensures that we don't accidentally
reference undefined classes/interfaces.

Test: manual inspection of API files
Bug: 69791141
Change-Id: I84e0c87fe83daa118661f61dbdf17b58ea5282d4
Merged-In: I84e0c87fe83daa118661f61dbdf17b58ea5282d4
2017-12-07 00:22:25 -07:00
Jeff Sharkey
bc4f48b21d Emit all APIs using Predicates.
Generate APIs using updated doclava.

Test: manual inspection of API text files
Bug: 69505783
Change-Id: I2efd22998a64ebb57588b073c4a591242f4aef91
Merged-In: I2efd22998a64ebb57588b073c4a591242f4aef91
2017-12-06 21:56:12 -07:00
Colin Cross
b42cfb691d Merge "Fix droiddoc when OUT_DIR is an absolute path"
am: 85f095e246

Change-Id: I5a91ba906958777944fc25fb5de281e4c8beebe7
2017-12-05 01:29:12 +00:00
Colin Cross
0c7609553d Fix droiddoc when OUT_DIR is an absolute path
The droiddoc rules were passing the sources in through
LOCAL_SRC_FILES, which gets prefixed with $(LOCAL_PATH).  They
were prefixing ../.. to try to counter frameworks/base in
$(LOCAL_PATH), but that doesn't work for absolute paths to
generated files in an absolute $(OUT_DIR).

Use $(LOCAL_GENERATED_SOURCES) for anything that is in $(OUT_DIR)
instead, which takes paths that are relative to the top of the tree
or absolute.

Bug: 70166718
Test: m OUT_DIR=/tmp/out docs
Change-Id: I93b743607c2b8ce05512ecd4bbe860747cb48428
Merged-In: I93b743607c2b8ce05512ecd4bbe860747cb48428
(cherry-picked from commit bd200ce7d4ebe31ad4327683e59af269420b0ef5)
2017-12-05 01:07:53 +00:00
Colin Cross
943e2aa7ef Convert framework.jar to Android.bp
Use Soong to build framework-res.apk and framework.jar.
See build/soong/README.md for more information.

Bug: 69917341
Test: m checkbuild tests docs
Test: manually compare framework.jar and framework-res.apk
Test: manually compare out/target/common/docs
Change-Id: Ibdfe1cbf34d97c43f4857c2c5d7604fa72d5b5a4
Merged-In: Ibdfe1cbf34d97c43f4857c2c5d7604fa72d5b5a4
(cherry picked from commit cf3a0b5355c6138538f9f3d4b369a875814bc01c)
2017-12-03 20:23:43 -08:00
Colin Cross
5f4dcf6702 Convert framework.jar to Android.bp
Use Soong to build framework-res.apk and framework.jar.
See build/soong/README.md for more information.

Bug: 69917341
Test: m checkbuild tests docs
Test: manually compare framework.jar and framework-res.apk
Test: manually compare out/target/common/docs
Change-Id: Ibdfe1cbf34d97c43f4857c2c5d7604fa72d5b5a4
Merged-In: Ibdfe1cbf34d97c43f4857c2c5d7604fa72d5b5a4
(cherry picked from commit cf3a0b5355c6138538f9f3d4b369a875814bc01c)
2017-12-03 17:50:34 +00:00
Mohamed
208f232825 Merge "Add SMS over IMS APIs"
am: 74445ed311

Change-Id: I5b08b82f39968adc111d0b3361b4312eb7244913
2017-11-30 16:05:36 +00:00
Treehugger Robot
74445ed311 Merge "Add SMS over IMS APIs" 2017-11-30 15:56:30 +00:00
Mohamed
037749df03 Add SMS over IMS APIs
- Adds public APIs that IMS providers will implement/use
- Adds aidl APIs for internal communications to support SMS over IMS.
- First pass at documentation of APIs.

Moving over from  ag/3265442

Bug: 69846044

Test: None
Change-Id: Ic665a2a7d64a56417bcf2a159d6b88b05cdb832a
2017-11-29 16:14:57 -08:00
Jack Yu
3221d23138 Merge "Moved DataProfile from telephony internal hidden API to System API"
am: 24cd7cbd1e

Change-Id: Ica76a82b03f6bb0623a98480ae1c2fbc34d07337
2017-11-28 17:39:01 +00:00
Jack Yu
1d1022e445 Moved DataProfile from telephony internal hidden API to System API
This is the preliminary change in order to make the new data call
setup API for IWLAN refactoring.

Test: Telephony sanity tests + unit tests
bug: 64132030

Merged-In: Ib96dc3dd577def0a428e2f5cdb5fb7f742120020
Change-Id: Ib96dc3dd577def0a428e2f5cdb5fb7f742120020
(cherry picked from commit fc84bb5f5c6e30db0eca589eb67b406bf4bfadbe)
2017-11-27 14:36:15 -08:00
Brad Ebinger
e575ad10ca Merge "Refactor ImsService to AIDL"
am: 8a02c63f16

Change-Id: I195d7ccff8498241b6c7be819d2ee96b661d51e1
2017-11-22 19:23:16 +00:00
Brad Ebinger
216b3ce485 Refactor ImsService to AIDL
The ImsService was originally designed as a flat
interface, all ImsFeatures would be forwarded
through ImsService. This has been refactored to
using AIDL interfaces for each feature, as it
is more straightforward.

Test: Manual, Telephony IMS Unit Tests
Change-Id: Ibe065ddec6f180eabda03cf06f842c642a11114f
2017-11-16 21:28:36 +00:00
Xin Li
220871a697 Merge commit '98e12851336b7db16e583f9afac63ecc97465980' from
oc-mr1-dev-plus-aosp-without-vendor into stage-aosp-master.

Change-Id: Ia7b8da4a00d215160e4a4fa40f6044208d1297b7
Merged-In: I19846d2a3ee27aecbae2367a74ee49082eea154d
2017-11-14 12:31:11 -08:00
Jakub Pawlowski
422af4d049 Add IBluetoothSocketManager (3/3)
Add IBluetoothSocketManager native Binder implementation. Thanks to it
we'll skip jni to native calls, and need to re-serialize data manually.

Bug: 68359837
Test: none
Change-Id: I6c99717aa18ab41addf96b7536e483ae12802601
2017-11-09 19:39:51 +00:00
Alan Viverette
2d362a5831 Federate platform docs against support library API file
Bug: 36959367
Test: make docs
Change-Id: I7c6dffed25566c2bb1183aba60103c437888ba21
2017-10-31 09:25:06 -07:00
Colin Cross
72d359f227 Put libcore generated source files into LOCAL_INTERMEDIATES_SOURCES
LOCAL_SRC_FILES is expected to be a list of files relative to the
Android.mk files.  If OUT_DIR is absolute then adding generated
files to the list produces bad paths when $(LOCAL_PATH)/ is prepended
to it.  Put libcore's generated sources into
LOCAL_INTERMEDIATE_SOURCES instead.

Bug: 64930165
Bug: 68375156
Test: m checkbuild
Change-Id: I4b36fd192570ea0cd52d8537a16c078c726d97fd
2017-10-27 12:58:45 -07:00
Hansong Zhang
c8a370aeba Merge "Change Bluetooth HID Profile Name (1/6)"
am: 8218b219f3

Change-Id: Ic085deaa070b4008b34d03b507f81a5df220764a
2017-10-23 22:33:50 +00:00
Hansong Zhang
0edf754b2d Change Bluetooth HID Profile Name (1/6)
Make the Bluetooth HID profile name consistent with the Bluetooth HID service
name.

BluetoothInputHost → BluetoothHidDevice
BluetoothInputDevice → BluetoothHidHost
IBluetoothInputHost → IBluetoothHidDevice
IBluetoothInputDevice → IBluetoothHidHost
BluetoothProfile.INPUT_HOST → BluetoothProfile.HID_DEVICE
BluetoothProfile.INPUT_DEVICE → BluetoothProfile.HID_HOST

(Cherry-picked from commit c26c76c63d933f8057f795d05624f91b811c8c71)
Merged-In: Iadb890a54dd3d6868b87514472bbac6bb0c6179f
Bug: 68055651
Test: make
Change-Id: Iadb890a54dd3d6868b87514472bbac6bb0c6179f
2017-10-23 22:21:00 +00:00
Nan Zhang
b06e03c134 Merge "Shard framework during Java compilation for target side."
am: 6a90c3f793

Change-Id: I1a24f704d3537bde1e4aaef5bd4edf4cc898bb04
2017-10-20 00:17:23 +00:00
Treehugger Robot
6a90c3f793 Merge "Shard framework during Java compilation for target side." 2017-10-19 23:46:18 +00:00
Colin Cross
3f6bef874e Merge "Convert ext.jar to Android.bp" am: 42156f3e56 am: 8feea076a2
am: faededa6af

Change-Id: I9e640ea1f6175306c74075e25485bce622d6ca52
2017-10-15 02:43:13 +00:00