Commit Graph

221 Commits

Author SHA1 Message Date
Nan Zhang
7c96332354 Merge "Enabled annotations for Metalava based api-stubs." am: 79d3bf6e54
am: 0da95a5d64

Change-Id: Ie3385442c0bf28a1da52cb2d687ed45921604f80
2018-06-18 12:37:13 -07:00
Nan Zhang
0da95a5d64 Merge "Enabled annotations for Metalava based api-stubs."
am: 79d3bf6e54

Change-Id: I8b91e2259ce3b15313d5d4b822bf77696a6ebd5b
2018-06-18 12:13:35 -07:00
Nan Zhang
4b81658d40 Enabled annotations for Metalava based api-stubs.
Test: m -j metalava-api-stubs-docs
Bug: b/78245848
Change-Id: I4ba661900a52f246fc0191c31aabfc96b89fa2db
2018-06-13 17:42:09 -07:00
Neil Fuller
267ef30c8b resolve merge conflicts of 5e1d95b0cc to stage-aosp-master
am: 79d42a61e4

Change-Id: I8dcebef6e996dfaec01934552aa0f3d6f8c9053a
2018-06-12 06:36:14 -07:00
Neil Fuller
79d42a61e4 resolve merge conflicts of 5e1d95b0cc to stage-aosp-master
BUG: None
Test: I solemnly swear I tested this conflict resolution.
Change-Id: Ic5527b29cbe8c84d2053be849cf09df5341e4790
2018-06-12 14:23:51 +01:00
TreeHugger Robot
b7a46a7ec5 Merge "Remove test-* sources for Metalava api-stubs." into pi-dev-plus-aosp 2018-06-11 22:10:59 +00:00
TreeHugger Robot
ccccaf99f6 Merge "Frameworks: convert platformprotos to soong" into pi-dev-plus-aosp 2018-06-11 17:23:46 +00:00
Neil Fuller
b557907f51 Minimum viable TimeDetectorService
This is a do-nothing TimeDetectorService that can be
populated in following commits. A temporary method has been
added so the service has one method.

Unit tests can be run with:

atest FrameworksServicesTests:TimeDetectorServiceTest

Test: build / boot
Test: See above
Merged-In: I9e4eac70b944441f34491315cd1ce7fa2b9ae150
Change-Id: I9e4eac70b944441f34491315cd1ce7fa2b9ae150
(cherry picked from commit feeee682a2)
2018-06-11 15:29:57 +01:00
Nan Zhang
5b9aa02afd Remove test-* sources for Metalava api-stubs.
We didn't include any test-* sources for api-stubs generation in
internal Master. So also exlude them for Metalava targets.

Bug: b/78245848
Test: m metalava-api-stubs-docs

Change-Id: I08e197275b66d6bea026b909439dd80518465d25
2018-06-08 13:51:27 -07:00
David Brazdil
4c67b9d449 Merge "Build dark greylist from public + light grey API" am: 60229832de
am: bd0dd0e59f

Change-Id: Icf43773b041d8058cd79da2b3f085f33f19f2078
2018-06-08 09:20:59 -07: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
Nan Zhang
18543da456 Merge "Add metalava based api-stubs modules in Android.bp" am: f907578564
am: 25d4494793

Change-Id: I61a4f39fdef76aa49dea1b007b805cac5e55526f
2018-06-06 01:20:55 -07:00
Nan Zhang
4212eb1bef Add metalava based api-stubs modules in Android.bp
Test: m clean && m metalava-api-stubs-docs
Bug: b/78245848
Change-Id: Ie0943d306af4176d965425ec85236cd173c1e870
2018-06-05 17:00:52 -07:00
Jiyong Park
fa15a99fe9 Remove FlpHardwareProvider
After Treble's FLP merge into GNSS HAL, the FlpHardwareProvider is just
an empty shell. Removing FusedLocation and/or Flp + Hardware classes
altogether.

Bug: 35726697
Test: m -j
Test: Open Google Map and then walk around. The dot moves as I walk.

Merged-In: I7f413e38b57424e8ebb9d7d14d94f145a48d10f8
Change-Id: I7f413e38b57424e8ebb9d7d14d94f145a48d10f8
(cherry picked from commit 4cc3a1c056)
2018-05-25 16:38:52 +09:00
Andreas Gampe
9eb7586f27 Frameworks: convert platformprotos to soong
(cherry picked from commit af27bf6662)

Bug: 64328974
Test: m
Merged-In: I3729a3132c1ef07dded69801373edf51006fa623
Change-Id: I3729a3132c1ef07dded69801373edf51006fa623
2018-05-24 19:21:49 +00:00
Nan Zhang
39d2d18b80 Update Android.bp for api-stubs in order to do api-check.
Bug: b/78034256
Test: m clean && m checkapi

Change-Id: Ifbda8825f95e26bb79aac9b1bb73c5e43f12d1fb
Merged-In: Ifbda8825f95e26bb79aac9b1bb73c5e43f12d1fb
2018-05-15 15:47:01 -07:00
Nan Zhang
05c47c8e5c Update Android.bp for api-stubs in order to do api-check.
Bug: b/78034256
Test: m clean && m checkapi

Change-Id: Ifbda8825f95e26bb79aac9b1bb73c5e43f12d1fb
2018-05-09 11:23:43 -07:00
David Brazdil
a5d0d86b63 resolve merge conflicts of 4d213e5856 to pi-dev-plus-aosp
BUG: None
Test: I solemnly swear I tested this conflict resolution.
Merged-In: Ifa912f8751025b7de24a982a1a227a9c27d18267
Change-Id: I9dc9a1e81d9a4d82823e15d1af0cc814a1005174
2018-05-02 13:44:48 +00:00
David Brazdil
96c9cbc1a1 Build same hidden API lists as in pi-dev
P branch builds hidden API lists in a separate invocation of droiddoc
which includes @SystemApi and @TestApi annotated class members in the
public API. This patch creates the same build rule in the master branch,
only with Soong instead of Makefile.

Test: make out/soong/.intermediates/frameworks/base/hiddenapi-lists/android_common/private-dex.txt
Merged-In: Ifa912f8751025b7de24a982a1a227a9c27d18267
Change-Id: I80860c2b9f7213db65d0a9ca65bd645187aa0ce0
2018-05-02 08:54:02 +00:00
David Brazdil
9150bd4b48 Merge "Generate @removed DEX API signatures" am: eddd165c20
am: 86cd9642c3

Change-Id: I936c3b375a4c1a58c301965f6a2922e135699663
2018-04-26 07:41:56 -07:00
David Brazdil
df41728b85 Generate @removed DEX API signatures
CL I8fe27e8c03334f9c90204db1e69447de65a06a38 adds support to generate
a list of all @removed DEX API signatures. Amend the public API build
rule to produce this file.

Bug: 78182899
Test: make
Change-Id: Iba8869ce6e4f401a8e420ad83ab459d25bbbaae0
2018-04-24 16:27:53 +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
Anton Hansson
6a9e72651b 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
2018-04-23 11:44:53 +01:00
Makoto Onuki
fa3a2acfbc Merge "Add stats logging to ServiceManager and NPMS" into pi-dev
am: a26e755900

Change-Id: Ib0bd9ecc183b1b2c9a6785554e6f717744820da3
2018-04-11 18:39:53 -07:00
Makoto Onuki
49392d335a Add stats logging to ServiceManager and NPMS
ServiceManager:
- Do an event log every N getService() calls with total time spent
in getService().
where N = 100 for core UIDs and 200 for other apps.

- Do an event log if getService() takes longer than N ms.
where N = 10 for core UIDs and 50 for other apps.

... with some extra throttling.

NPMS:
- Do the basic "stats logger" log for updateNetworkEnabledNL() and
isUidNetworkingBlocked()

This CL also enhances StatsLogegr so it now can show the slowest call
and the max # of calls per-second.

Bug: 77853238
Test: Manual test:
- Insert a SIM card
- Set data limit
- toggle airplane mode
- toggle wifi
- toggle mobile data

Then
- "dumpsys netpolicy" and "dumpsys activity processes" and check the stats
- also check "adb logcat -b all | grep ' service_manager'"

Change-Id: I5789541063f95d0eac501189816c8604a4571ba0
2018-04-11 16:37:57 -07:00
Nan Zhang
99ce5c7090 Add filegroup for supporting apache-http stubs generation.
Bug: b/70351683
Test: m clean && m check-apache-http-legacy-api,
and compare the old and new stubs.jar using md5sum.

Change-Id: I0035837aef48a76e40a2c723c2adce3ff129ad28
Merged-In: I0035837aef48a76e40a2c723c2adce3ff129ad28
2018-04-11 14:57:28 -07:00
Nan Zhang
a0f91af44d Add filegroup for supporting apache-http stubs generation.
Bug: b/70351683
Test: m clean && m check-apache-http-legacy-api,
and compare the old and new stubs.jar using md5sum.

Change-Id: I0035837aef48a76e40a2c723c2adce3ff129ad28
2018-04-10 12:46:31 -07:00
Colin Cross
7c99052071 Merge "Add a droiddoc generator for hwbinder.stubs" am: 1142ffcc9b
am: c97d768b6b

Change-Id: I63439c9bcf33f7ed64791e84a493e257b7ec7991
2018-04-10 12:26:56 -07:00
Vishwath Mohan
f2f7495f49 Merge "Rename BiometricDialog to BiometricPrompt." into pi-dev
am: 5ab3cf8bec

Change-Id: Id450c37765a5f657c6fe422aa98e3b7191d7b773
2018-04-05 14:49:14 -07:00
Vishwath Mohan
ecf00cedb6 Rename BiometricDialog to BiometricPrompt.
Renamed to BiometricPrompt per API-council feedback.

Bug: 77494933
Test: m -j70
Change-Id: Ifed2b8f3439a7e671e0ce46d3a7db9f24871b16a
2018-04-05 10:41:19 -07:00
Colin Cross
a2b78a7ed2 Add a droiddoc generator for hwbinder.stubs
hwbinder.stubs provides stubs for @SystemAPI hwbinder classes
that doesn't depend on framework, used to break a dependency cycle
between hidl interfaces and android_system_stubs_current while
satisifying the link type checks.

Bug: 77285514
Test: m checkbuild
Change-Id: Id4093e19f607dc5b0c663e1b637012799ab110c3
2018-03-29 22:41:40 -07:00
Steven Moreland
4dde8a113b Allow HIDL to be used in priv-apps.
Marking HIDL as SystemApi to allow vendor apps to talk to their own
native HIDL services. This includes implementing HIDL callback objects.

HIDL (HAL interface design language) is a language that is used to
facilitate vendor<->system communication which provides guarantees
of ABI stability. For system and vendor services alike, this can also
be used for internal communication.

Bug: 67725182
Test: boot device, hidl_test_java
Change-Id: I9d028cc43ce6f81ea619f01e18f1cd772e17cbfa
Merged-In: I9d028cc43ce6f81ea619f01e18f1cd772e17cbfa
(cherry picked from commit e8e63aae6f)
2018-03-29 15:03:59 -07:00
Vishwath Mohan
77b5ccb59b Merge "Refactor FingerprintDialog to BiometricDialog" into pi-dev
am: 86ed912f5a

Change-Id: I2582d4770900460a8d37c9d832e9a20583f9adf9
2018-03-28 19:01:11 +00:00
Vishwath Mohan
cf87df1531 Refactor FingerprintDialog to BiometricDialog
This CL changes FingerprintDialog into the more generic
BiometricDialog, which OEMs will be able to extend as necessary to
provide support for alternate biometric modalities.

Bug: 74831038
Test: m -j50 FingerprintDialog (from the associated CL on this topic)
      The app works and authenticates successfully.
Test: make update-api -j56

Change-Id: Ic398ef0a0b448be68dbe3330b30779f93f567243
2018-03-27 13:15:01 -07:00
Treehugger Robot
aa8f09d41a Merge "Split the DownloadStateCallback class into two" 2018-03-26 23:53:40 +00:00
Hall Liu
49d1cb4770 Split the DownloadStateCallback class into two
Use individually-registered DownloadStatusListener and
DownloadProgressListener instead to listen for download status and
progress, respectively.

Bug: 74409377
Test: cts
Change-Id: Ifd5289038ffd66eef8bd7916f5256205b49be5f9
Merged-In: Ifd5289038ffd66eef8bd7916f5256205b49be5f9
2018-03-26 21:45:21 +00:00
Hall Liu
3f65260be7 Merge "Split the DownloadStateCallback class into two" into pi-dev
am: ecd4709573

Change-Id: I09cdcd69729ac917ac7290d4e1efcf4d9dbc0530
2018-03-24 00:31:02 +00:00
Hall Liu
ecd4709573 Merge "Split the DownloadStateCallback class into two" into pi-dev 2018-03-23 23:11:46 +00:00
Nan Zhang
f33e1947b7 Add additional droiddoc options for stubs-api
There's slightly different for droiddoc options between AOSP and
internal Master. So set droiddoc options to be consistent with current
ones in internal Master.

Test: m android_stubs_current
Bug: b/70351683 b/76179848
Change-Id: I3b87021b8a882e0934faedf51a9f84c996654c1f
2018-03-23 01:04:02 -07:00
Jiyong Park
189cc7df45 Merge changes I7f413e38,I20aba7e9 into pi-dev
am: 4d6dc48d24

Change-Id: Ib63541d0924b400580d62513864d790a02021de9
2018-03-22 00:46:46 +00:00
TreeHugger Robot
4d6dc48d24 Merge changes I7f413e38,I20aba7e9 into pi-dev
* changes:
  Remove FlpHardwareProvider
  Create the stubs lib for com.android.location.provider
2018-03-22 00:29:38 +00:00
Hall Liu
7953997160 Split the DownloadStateCallback class into two
Use individually-registered DownloadStatusListener and
DownloadProgressListener instead to listen for download status and
progress, respectively.

Bug: 74409377
Test: cts
Change-Id: Ifd5289038ffd66eef8bd7916f5256205b49be5f9
2018-03-21 23:39:07 +00:00
Philip P. Moltmann
9dd3e7d300 Add SoundTriggerDetectionService
am: 18e3eb8168

Change-Id: I4bb7ada74c36df4a64956c9c36a1675aad1f6645
2018-03-21 06:00:01 +00:00
Jiyong Park
4cc3a1c056 Remove FlpHardwareProvider
After Treble's FLP merge into GNSS HAL, the FlpHardwareProvider is just
an empty shell. Removing FusedLocation and/or Flp + Hardware classes
altogether.

Bug: 35726697
Test: m -j
Test: Open Google Map and then walk around. The dot moves as I walk.
Change-Id: I7f413e38b57424e8ebb9d7d14d94f145a48d10f8
2018-03-21 10:36:44 +09:00
Nan Zhang
7bfac8dce2 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 16:22:30 -07:00
Philip P. Moltmann
18e3eb8168 Add SoundTriggerDetectionService
The service is meant to replace the PendingIntent based API. Once all
users of the PendingIntent based API switched the PendingIntent based API
will be removed.

To have as little as possible impact on the whole SoundTrigger framework
the RemoteSoundTriggerDetectionService class implements the same
interface as the PendingIntent based class. Hence the exising code has
very little change. Further once the old code can be removed the amount
of changed (and added) code is limited.

The RemoteSoundTriggerDetectionService -> SoundTriggerDetectionService
is a vanilla as possible service implementation. The special behaviors
are:
- The system holds a wakelock while service operations are in progress
and the service is bound as foreground. Hence the service can e.g.
listen to the microphone.
- Service operations have a certain amount of time they are allowed to
run. Once every operation is either finished or the the operation
exceeded the allotted time, the system calls onStopOperation for each
still pending operation. This is a similar model as for the commonly
used JobService.
  Please note that if the time allowed for an operation is 15s and
op1 was run as 0si, and op1 was run at 5s, the service is allowed to run
until 20s. Hence _both_ onStopOperations will happen at 20s. This is
done for ease of implementation but should not give the service more
power than calling onStopOperation exactly 15s after each operation is
triggered.
- If an operation is done before the allotted time is reached, the
service can declare the operation as finished manually by calling
onOperationFinished. This is a call back into the system, hence a
'client' binder is sent to the service. If the operation is finished
by calling this method onStopOperation will not be called.
- As the service instance might be killed and restored between
operations we add a opaque bundle 'params' to each operations. The users
of the API can use this to send data from the start command to the
operations. It can also just be set to null. The params are not meant to
store changing state in between operations. Such state needs to be
persisted using the regular methods (e.g. write it to disk)
- A service can be used for multiple recognition sessions. Each
recognition is uniquelity defined by its sound model UUID. Hence each
operation gets at least tree arguments: Operation ID, sound mode UUID, params
- As a small optimization the params are cached inside of the service
instance.

The time allowed for each operation is in a @SystemAPI global setting,
so the service can make sure it finishes the operations before they are
stopped. It might take some time to deliver the operations via the
binder, hence it is not recommended to try to use every last ms of
allotted time.

Test: atest SoundTriggerDetectionServiceTest (added in separate CL)
      atest android.provider.SettingsBackupTest
Change-Id: I47f813b7a5138a6f24732197813a605d29f85a93
Fixes: 73829108
2018-03-20 13:57:14 -07: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
Nan Zhang
538e615919 Remove test/* from API stubs jars generation.
Test: Generated old and new API stubs jars. And
cd /tmp/new/; find . -type f -name "*.class" -exec md5sum {} \+ | ( cd /tmp/old; md5sum -c --quiet )

Bug: b/70351683
Change-Id: If5e668cca483f54646fb64776b24c95044092620
2018-03-12 14:11:57 -07:00
Nan Zhang
f9ac62dddb Merge "Convert api-stubs, system-api-stubs, and test-api-stubs target" am: baa37dbbad
am: 5a4b586e28

Change-Id: I880168e468e06a0351ad9e084e108cd46f8ca1d3
2018-03-10 00:38:00 +00:00
Kweku Adams
eadd123d68 Dumping stack traces to proto.
Bug: 72177715
Test: flash device and check incident.proto output
Change-Id: Id2a15e0fc62b66efe875949af97f0eb651c7e322
(cherry picked from commit 5c804e2b98)
2018-03-07 21:50:12 +00:00