Commit Graph

40 Commits

Author SHA1 Message Date
Anton Hansson
f68ef068b1 Add package filter for system_server stubs
Should prevent accidental addition of APIs outside com.android,
which is where we want these APIs to be.

Bug: 149293194
Test: m update-api
Change-Id: I144ce6dbfe524106fc7de87318f66390c31b45af
Merged-In: I144ce6dbfe524106fc7de87318f66390c31b45af
2020-03-31 10:02:40 +01:00
satayev
3fa88993cd Merge "Export change id processor." 2020-03-29 18:10:55 +00:00
Artur Satayev
db23306e83 Export change id processor.
- Don't declare the plugin directly, it is exported via java_library that defines the sources.
- Remove unneeded framework-annotation-proc.

Bug: 152220864
Test: m && diff merged_compat_config.xml
Change-Id: Ie750b5391229d21679a8610780b9f8d4a997e204
Merged-In: Ie750b5391229d21679a8610780b9f8d4a997e204
2020-03-27 22:44:30 +00:00
Anton Hansson
9a01e55cb6 Add module_lib and system-server artifacts to sdk dist
Makes these artifacts available for the update_prebuilts script.

Bug: 149293194
Test: m win_sdk dist && find out/dist -type f
Change-Id: Ia1064e50e987433e5e308527c6770ba2d3e8bde3
Merged-In: Ia1064e50e987433e5e308527c6770ba2d3e8bde3
(cherry picked from commit 7b0414beb7)
2020-03-20 15:22:20 +00:00
Anton Hansson
bde7d4f2e4 Make system_server stubs consistent with other stubs
Include the module_api stubs in system_server one instead of
putting both of these jars on the classpath. Also rename it
to be in line with the other stubs.

Bug: 149293194
Test: m
Change-Id: I2a9318c8ae036edafac086687601fa73d9bf4678
Merged-In: I2a9318c8ae036edafac086687601fa73d9bf4678
(cherry picked from commit a49fb99d8c)
2020-03-20 13:02:03 +00:00
Anton Hansson
cec9266610 Create all variants of stubs for tethering
Add separate publicapi, systemapi and module_libs stubs for tethering.

Bug: 147768409
Test: m
Test: m framework-tethering-stubs-{public,system,module_libs_}api
Change-Id: I0ed44691b4e7080818442a9d0eb37d874f707195
Merged-In: I0ed44691b4e7080818442a9d0eb37d874f707195
2020-03-16 15:54:19 +00:00
Anton Hansson
1d53c8c986 Cleanup framework-all usage
It generally shouldn't be depended on. Only by droidstubs for
modules.

Bug: 137191822
Bug: 149906971
Test: m
Change-Id: I16e672aaae80d8bcce25e46c34984797740aae1b
Merged-In: I16e672aaae80d8bcce25e46c34984797740aae1b
(cherry picked from commit 6fb18bbfdb)
2020-02-20 19:11:29 +00:00
Anton Hansson
ac119a33c2 Allow com.android.* classes in system_service stubs
The android.* rule is meant to be for the public SDK.

Bug: 147559833
Test: m checkapi
Change-Id: I8b36cf7a4ff569d0b960455de09ed40592dd5a9e
Merged-In: I8b36cf7a4ff569d0b960455de09ed40592dd5a9e
(cherry picked from commit f74130f525)
2020-02-20 11:40:34 +00:00
Anton Hansson
0decfb1f8a Enable compat checking & lint for system_services api
These were previously turned off as there were no previous
releases to compare it to. Check in empty files as comparison.

Whitelist current lint problems for now (filed bugs to follow-up).

Bug: 149818061
Bug: 149818284
Bug: 147559833
Test: m checkapi
Change-Id: Ib4cbc84ac9a826f7b947c951c94f8f5578f4554d
Merged-In: Ib4cbc84ac9a826f7b947c951c94f8f5578f4554d
(cherry picked from commit daa9d88444)
2020-02-19 15:20:14 +00:00
markchien
8cf2a5588b Use framework-tethering-stub instead of framework-tethering
The non-updatable part of the platform now is built with
framework-tethering-stub, which is a stub library of
framework-tethering.

Bug: 147200698
Test: m
Change-Id: I97ef83f7f9b4c1376f373713036f5256318f1050
Merged-In: I97ef83f7f9b4c1376f373713036f5256318f1050
2020-02-19 15:10:44 +08:00
Makoto Onuki
3d8cabd48d Stop using SystemApi.process per the latest spec
Bug: 148177503
Test: Build / treehugger

Change-Id: If656b2faa2e031775ef1fc4e9bfaeb170db55620
Merged-In: If656b2faa2e031775ef1fc4e9bfaeb170db55620
2020-02-04 20:54:00 +00:00
Jiyong Park
3160c60a21 Annotating a class with @SystemApi makes its members @SystemApi
This change fixes a bug that annotating a class in services.jar as
@SystemApi doesn't automatically make its member fields and methods as
@SystemApi. The problem was due to a wrong option to the metalava.

Bug: 147322525
Test: cherry-pick ag/10037363 and `m update-api`.
services/api/current.txt contains all the symbols from the
SystemService class.

Change-Id: I30a515761f8d1792593f207fa4e268ab68a81480
2020-01-08 10:13:48 +09:00
Jiyong Park
1a3b9b93d0 Add API signature files for the system server APIs
... so that they can be reviewed.

Bug: 140202860
Test: m

Exempt-From-Owner-Approval: cherry-pick from internal

Merged-In: Iec8cdd30ad5e4979d56140a8c00a85af6476f67f
(cherry picked from commit 13c923d00a)
Change-Id: Iec8cdd30ad5e4979d56140a8c00a85af6476f67f
2019-12-26 15:15:58 +09:00
Jiyong Park
5640e1d836 Merge changes I4af73809,Iba6a564a,I3305b71e
* changes:
  Hide com.android.server package with @hide javadoc tag
  Add more enums for the client and process attributes of SystemApi
  SystemApi is parameterized
2019-12-22 08:15:25 +00:00
Treehugger Robot
99d091ee81 Merge "Add services-stubs for in-process APIs in services.jar" 2019-12-22 01:38:33 +00:00
markchien
6d06f6d51a [Tether13] Move TetheringManager into framework
Move tethering out of ConnectivityService. All client would
use TetheringManager to talk with TetheringService directly.

Bug: 144320246
Test: -build, flash, boot
      -atest TetheringTests

Change-Id: Ib051bea724a256f9c4572b566e46ae7b9c4abe6e
Merged-In: Ib051bea724a256f9c4572b566e46ae7b9c4abe6e
2019-12-19 20:53:06 +08:00
Jiyong Park
5ed5a04385 Add more enums for the client and process attributes of SystemApi
For the client attribute, we have
- MODULE_APPS for representing APKs implementing modules which are
considered part of the platform
- MODULE_LIBRARIES for representing jars inside modules.

For the process attribute, we have
- SYSTEM_SERVER for representing the system_server process.

For example, @SystemApi(client=MODULE_LIBRARIES,process=ALL) actually
means that the API is meant to be available for classes in the
bootclasspath but not to the classes from the app classloader.

Bug: 140202860
Test: m

Exempt-From-Owner-Approval: cherry-picked from internal

Merged-In: Iba6a564a0967e4d109164849ee6d6500d46469de
(cherry picked from commit 88d5e494c4)
Change-Id: Iba6a564a0967e4d109164849ee6d6500d46469de
2019-12-19 11:49:39 +09:00
Jiyong Park
abe6158431 SystemApi is parameterized
We have decided to reuse the existing annotation @SystemApi for all Java
APIs regardless of whether they are for apps or platform internal
modules. This was because introducing new annotation types every time
when we have to create new API surfaces will only increase the confusion
without giving much benefit.

Instead, to differenciate the different API surfaces of @SystemApi, the
annotation type is parameterized. Specifically, it has to axises.

client: specifies the intended client of the API.

process: specifies the process(es) that the API is available.

The default for client and process are priv-apps and all, respectively,
which corresponds to the today's @SystemApi for privileged apps like
GMS.

Exempt-From-Owner-Approval: cherry-pick from internal

Bug: 140202860
Test: m
Merged-In: I3305b71e22970e80db95f3daf3d7713603c7d68d
(cherry picked from commit 119afc0695)
Change-Id: I3305b71e22970e80db95f3daf3d7713603c7d68d
2019-12-17 17:52:15 +09:00
Jiyong Park
759a269a65 Add services-stubs for in-process APIs in services.jar
services-stubs is a stubs library for services.jar. It provides the
in-process APIs that's available inside the system server process
running services.jar.

Currently, all APIs in the jar are hidden by annotating
com.android.server package with @android.annotation.Hide. To add some
APIs,

1) remove package-info.java for com.android.server
2) add package-info.java for other sub packages
3) annotate them with @android.annotation.Hide except for the package
where the newly added APIs are in

This change also added android.annotation.Hide class which can be used
to hide an API without using the @hide javadoc tag. This opens up the
possibility of running metalava over the compiled jar, which is expected
to be much faster than when ran with source files.

Bug: 139391334
Test: m
Test: m services-stubs

Exempt-From-Owner-Approval: cherry-pick from internal

Merged-In: I027b8a22b3e7533f6203aabb9dc3f690e4e842a6
(cherry picked from commit abc72e45c6)
Change-Id: I027b8a22b3e7533f6203aabb9dc3f690e4e842a6
2019-12-17 14:20:15 +09:00
Jiyong Park
e86e89acff Add filegroups for services.* libraries
... in preparation for creating a stub library from services.jar

Bug: 139391334
Test: m

Exempt-From-Owner-Approval: cherry-pick from internal

Merged-In: Ifd6cfc77acf2284804a2f64011c2733b5c222369
(cherry picked from commit bae2e90796)
Change-Id: Ifd6cfc77acf2284804a2f64011c2733b5c222369
2019-12-11 15:55:33 +09:00
Ulya Trafimovich
0d1b063d6c Export path to profile (to be used by other modules).
Test: m
Change-Id: Id7dad3c49152fe45d72d743cba88476d3ae58241
2019-12-03 11:59:51 +00:00
Anna Trostanetski
eb6576d67d Merge "Remove prefix property from platform_compat_config module"
am: cc55cca985

Change-Id: Id0739fe8a6460a361243a029d259c608e3d9e736
2019-08-29 10:08:38 -07:00
atrost
7aa64a78ae Remove prefix property from platform_compat_config module
It's no longer needed as the configs moved to their own directory. Also CompatConfig now reads from the new location.
Bug: 140074769
Bug: 140092095
Test: m, atest FrameworksServicesTests

Change-Id: Ia800a63096693717b027c7291dc8005ca1c93fe5
2019-08-29 14:22:13 +01:00
Anna Trostanetski
8ee5669a5e Merge "Add a platform-compat-config to the framework services."
am: 6162efbfa7

Change-Id: Iad2e3ebdabad091387cba59fb4c8ac5bec60da97
2019-08-21 04:05:51 -07:00
atrost
86895aad82 Add a platform-compat-config to the framework services.
Bug: 138222363
Test: m. the config builds and contains annotated changes.
Change-Id: I35ab9d028bbf23aca38494b66592779fdb4ef01e
2019-08-19 16:51:15 +01:00
Robert Berry
835123dba2 Add system captions manager service
This service connects to a remote system captions manager service. This
service is responsible for enabling system captions when the user
requests them. As the system binds to it, this service will be
persistent.

Cherry pick from ag/6761232

Bug: 128925852
Test: Manual. I created an implementation of the service.
Merged-In: Iafde1bb68f4754d8167624f47c6833d43c0ec336
Change-Id: Iafde1bb68f4754d8167624f47c6833d43c0ec336
2019-04-07 15:09:06 +00:00
Xiao Ma
2ce206c82d Merge "Move the IpMemoryStore to the network stack." am: 93bf5ef495 am: 5db1518bfa
am: 3176d57308

Change-Id: I243056012d2f099d96a33657c0eb63a5b66a2cfe
2019-03-19 06:54:43 -07:00
Chalard Jean
952135122d Move the IpMemoryStore to the network stack.
Test: atest FrameworksNetTests
Change-Id: Ic5bd6ff54b09a6fa92b6863f240a5b053011acb6
2019-03-18 11:33:17 +09:00
Winson Chung
fb922e9bac Merge changes from topic "prediction_suggestion_services"
* changes:
  Initial commit of Content Suggestions (overview long press) Manager.
  Adding initial implementation of Prediction client/service API
2019-01-11 20:21:19 +00:00
Chalard Jean
fc758be231 Merge changes from topic "IPMS1" am: 3627deac88 am: 54d91e605c
am: 2304c7c508

Change-Id: I6908f68b1b9e7079384c4cc9f11c4e46cce694ce
2019-01-11 04:13:38 -08:00
Chalard Jean
8c141bdb8f [MS01] Add the IP memory store service.
Bug: 116512211
Test: Added initial tests
Change-Id: I9d9af4097e3e2d7afd9956b9cbfa29a9f9558ae0
2019-01-11 15:00:36 +09:00
Winson Chung
3fb0f258d3 Initial commit of Content Suggestions (overview long press) Manager.
Test: compile
Bug: 120865921
Change-Id: I9f8310112bedc883406f0f50a99041f542036fd9
2019-01-10 16:35:13 -08:00
Sunny Goyal
54e91344e2 Adding initial implementation of Prediction client/service API
Test: Build sample app, ensure that app prediction service gets client
      requests
Bug: 111701043
Change-Id: I33aceb2de31552b2d740dc333559d68728753e40
Signed-off-by: Winson Chung <winsonc@google.com>
2019-01-10 15:53:25 -08:00
Igor Murashkin
4de1e16570 services: Add iorap forwarding service
Add a new service to system_server. It purely forwards
data from internal APIs to iorapd over binder, it is not a binder
service itself.

Currently forwards ActivityMetricsLaunchObserver APIs from
ActivityTaskManagerInternal.

Bug: 72170747
Change-Id: Ic4fa283df1c16660099030c74a0039ef24866819
2019-01-07 13:46:47 -08:00
Felipe Leme
749b889889 Yet another (major) refactoring on Content Capture and Augmented Autofill.
Bunch of changes:

- Split public SmartSuggestionsService info ContentCaptureService and
  AugmentedAutofillService
- Renamed 'intelligence' packages to either 'contentcapture' or
  'autofil.augmented'
- Renamed internal packages and classes.
- Changed permissions, resource names, etc...
- Moved Augmented Autofill logic from IntelligeceManagerService (R.I.P.) to
  Autofill.
- Optimized IPCs by passing a String instead of the InteractionSessionId
  (that also solves the view -> service dependency).

Test: atest CtsContentCaptureServiceTestCases \
            CtsAutoFillServiceTestCases \
            FrameworksCoreTests:SettingsBackupTest
Test: manual verification with Augmented Autofill Service

Bug: 119638877
Bug: 117944706

Change-Id: I787fc2a0dbd9ad53e4d5edb0d2a9242346e4652d
2018-12-06 16:56:39 -08:00
Felipe Leme
b2624f4ef7 Fixes Intelligence Service location
Test: m -j framework services && adb remount && adb shell stop && \
      adb sync system && adb shell start
Bug: 111276913

Change-Id: Ia226d3559b464f2351c9e8a785fc9edbbee53a9b
2018-11-13 12:57:47 -08:00
Colin Cross
a12c0f506c Mark installable jars with installable: true
Most jars don't need to be installed on the device.  Instead of
using java_library and java_library_static to distinguish between
them make java_library and java_library_static identical and use
installable: true to identify the few jars that need to be dexed
and installed on the device.

Bug: 110885583
Test: m checkbuild
Change-Id: I579da7c1a712ec4fb49e288e7f3ab369cb75baf4
2018-06-27 11:49:44 -07:00
Colin Cross
4c0b06b7ed Make services.core the final priorityboosted jar
Other module besides services depend on services.core, and after
I417409281c928ea667d937090d2a0d9d72a449a2 they were getting
the non-priorityboosted version of the jar.  Make services.core
a java_library that contains the output of the priorityboosting
java_genrule.

Test: m services
Change-Id: Ic9ca1b8f43f87b0d7d36b53bbc5136a331490c3e
2017-12-12 19:43:04 -08:00
Colin Cross
eb652a47a1 Convert services to Android.bp
See build/soong/README.md for more information.

Test: m checkbuild
Change-Id: I417409281c928ea667d937090d2a0d9d72a449a2
Merged-In: I417409281c928ea667d937090d2a0d9d72a449a2
Exempt-From-Owner-Approval: trivial conversion
(cherry-picked from commit e0b2ee52d2)
2017-12-12 23:22:25 +00:00
Colin Cross
3a7d8999f6 Convert services/core/jni to Android.bp
See build/soong/README.md for more information.

Test: m checkbuild
Change-Id: I11a9a39d14adc4c202c6a1725e92e52a38ff2585
Merged-In: I11a9a39d14adc4c202c6a1725e92e52a38ff2585
(cherry picked from commit 1742dd8cf3)
2017-12-07 22:11:38 +00:00