Commit Graph

1408 Commits

Author SHA1 Message Date
Hai Zhang
e7d97083aa Merge "Start role service earlier." into sc-dev 2021-02-02 22:34:27 +00:00
TreeHugger Robot
b23f6d71ee Merge "Move GameManager to android.app package." into sc-dev 2021-02-02 19:36:13 +00:00
Hai Zhang
a101dc88e0 Start role service earlier.
Role service is modularized in this release and allows lower level
roles to be introduced after role logic is moved from
PermissionController APK into the system server JAR. So move starting
role service earlier as well to allow lower level roles.

This has no immediate effect because currently initialization for all
roles happens upon user start, but once role logic is inside system
server, we can allows initializing certain roles earlier in the boot
process, e.g. via SystemService.onBootPhase().

Fixes: 178565325
Test: presubmit
Change-Id: I8d183553f08aa6200aa3566afaabd40a7ce9489c
(cherry picked from commit d93060190f)
2021-02-02 18:54:30 +00:00
Shashwat Razdan
fc890f1fba Merge "SmartspaceManager initial implementation" into sc-dev 2021-02-02 12:31:26 +00:00
Shashwat Razdan
d33e8c387a SmartspaceManager initial implementation
Bug: 176851064
Test: Deployed on Phone,CTS tests
Change-Id: I3e03628d4d0e0aec0b6442f0ee8949ac378a1572
2021-02-01 21:39:07 +00:00
Tony Huang
d346ee5315 Merge "Make AppTransition animations sharable (1/n)" into sc-dev 2021-02-01 10:16:33 +00:00
Hyundo Moon
666804029d Merge "Add a new system service: MediaCommunicationService" into sc-dev 2021-02-01 06:11:27 +00:00
Peiyong Lin
235cb5086c Move GameManager to android.app package.
Bug: b/177611751
Bug: b/178112303
Test: atest GameManagerTests
Test: atest GameManagerServiceTests
Test: atest GameManagerServiceSettingsTests
Change-Id: Icf01f723f1323f6f91030e6005958b7da05e8177
2021-01-29 20:58:52 -08:00
Peiyong Lin
32f6ff7e15 Add GameManager service.
GameManager service is a service to manage game related features. This
patch creates the initial service to manage the game mode and persist
the data across reboot.

Bug: b/174956354
Test: atest GameManagerTests
Test: atest GameManagerServiceTests
Test: atest GameManagerServiceSettingsTests
Change-Id: Iee2ab47c79d29f48847bc6d4b3eb781a5af18ff4
2021-01-29 09:18:34 -08:00
Benedict Wong
3877b57b1d Start VcnManagementService after ConnectivityService
This change alters the start-up order of the VCN and Connectivity
services.

Bug: 174636568
Test: atest FrameworksVcnTests
Test: atest FrameworksNetTests
Change-Id: I1af29d52b94e77781eb2bf2082fcbe43648ee800
2021-01-28 18:30:27 +00:00
Sergey Volnov
bf51d7482c Merge "Add System speech recognition service." into sc-dev 2021-01-28 16:55:27 +00:00
Hyundo Moon
47b63528c3 Add a new system service: MediaCommunicationService
Bug: 175511943
Test: MediaCommunicationService can run.
      'adb shell service list' shows the service.
Change-Id: I81a1e11d96d1d30a29760507be6fe04592afcf70
Merged-In: I81a1e11d96d1d30a29760507be6fe04592afcf70
2021-01-28 13:07:53 +00:00
Tony Huang
5fcda4f860 Make AppTransition animations sharable (1/n)
Move some animation functions in AppTransition to new
TransitionAnimation class for wm-shell using.

Bug: 175053726
Test: build
Change-Id: I7eef67359fd4532f7e4d97c787d5288362a32f13
2021-01-28 16:03:56 +08:00
Neil Fuller
040dc8e2cd Move code from c.a.server.location.timezone
Move code from com.android.server.location.timezone to
com.android.server.timezonedetector.location.

It has more in common with time zone detection than location code.

Bug: 175119330
Test: Treehugger
Change-Id: I80e8c88ba1e3903f3b662cb195c5b2877ba661b0
2021-01-27 17:24:38 +00:00
Eugenio Marchiori
c3c0a1ee7e Add System speech recognition service.
Bug: 176578753
Test: local demo, CTS will follow
Change-Id: Ia7766c506bf43a5db5b9719363da66aab263fd8d
2021-01-27 09:40:27 +00:00
Josh Gao
a01cecbde9 Merge "Thread.sleep takes milliseconds, not seconds." am: b79bd2867f am: 81830b2d5f am: 629791842e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1560108

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie06960dc37d80daebce68bf51e58b1b4cb7c6c0f
2021-01-27 07:59:01 +00:00
Treehugger Robot
ed907b9203 Merge "Add app hibernation service stubs" am: d7bac025fb am: d131f3737d am: 1438f59fb0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1544924

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I938d23eada77c80966b710a373de927adf72fae4
2021-01-27 07:56:38 +00:00
Josh Gao
b79bd2867f Merge "Thread.sleep takes milliseconds, not seconds." 2021-01-26 23:36:05 +00:00
Treehugger Robot
d7bac025fb Merge "Add app hibernation service stubs" 2021-01-26 22:23:13 +00:00
Josh Gao
e8575f53f8 Thread.sleep takes milliseconds, not seconds.
Test: treehugger
Change-Id: I822937ecd7778f0b9cf2fd22d281ace195f7cb56
2021-01-25 18:30:34 -08:00
Yi Jiang
0127af73ed Introduces RotationResolverService to the system
Rotation Resolver Service provides the suggested screen rotation
to the system server.

Bug: 162359770
Bug: 172370409
Test: atest RotationResolverManagerPerUserServiceTest
Change-Id: Ia43dfdba8502e04768933ef46a4ac8a687d4936c
2021-01-25 20:58:14 +00:00
Hai Zhang
0b4f1718f8 Move role into module.
These changes have to be in this CL together because:

- Code in service-permission depends on IRoleManager in
framework-permission, so the APIs in framework-permission and the code
in service-permission need to be moved together.

- The changes to service-permission build rules doesn't make sense
without the code moved in, so they have to be together as well.

Other details:

- framework-annotations: Several annotations are added into
framework-annoatations. Since the discussion with API council seems to
allow user IDs in system server in-process APIs, @UserIdInt and
@AppIdInt is added. @MainThread and @AnyThread is added since
@WorkerThread is already added. @CallSuper is added since @CheckResult
is also already added and they are similar in terms of category of
functionality.

- framework-permission-s-shared-srcs: 3 classes (and 2 AIDL files)
from framework is copied as shared source files and jarjared for
framework-permission, and an additional 3 is added for
service-permission as service-permission-shared-srcs. Similar to
framework-wifi and service-wifi, the 3 classes in framework-permission
is also available to service-permission by the stub library
framework-permission-pre-jarjar, and the other 3 classes used only for
service-permission is included separately to minimize our impact on
classes loaded into boot classpath. framework-permission and
service-permission shares the same jarjar rules to make sure the
classes remain available, and for the same reason framework-permission
cannot be shrank during any optimization.

- framework-permission-s-shared: A java_library target for
framework-permission-shared-srcs is created to make sure that the
public classes won't be counted as APIs, as it would be if directly
included as srcs for framework-permission
java_sdk_library. service-permission-shared is the same thing for
service-permission.

- framework-permission-s: A new java_sdk_library target created to be
loaded into bootclasspath by Android S+.

- Dumpsys Protobuf: The dumpsys protobuf
file (rolemanagerservice.proto) is moved into the module, and both the
platform (incident.proto) and the module uses protoc-gen-javastream to
generate the Java classes from it. This should be fine since it's a
"source level inclusion", and we jarjar the generated classes in our
module to avoid conflict with platform copies.

Bug: 158736025
Test: manual
Test: device boots, default apps can be changed successfully.
Change-Id: I1914774f631e51d0c587a7e527a1c9bc05ee1595
2021-01-24 12:55:16 -08:00
Hai Zhang
0de31fe1e2 Prepare role code for modularization.
- PooledLambda: PoolLambda is replaced with plain lambdas, to avoid
adding ~20 classes to boot classpath (for each module that uses
lambda).

- SystemServiceRegistry: RoleFrameworkInitializer is added to add
ROLE_SERVICE, similar to other modules.

- RoleService: RoleManagerService is renamed to RoleService to better
reflect the manager/service relationship.

- @MainThread: import for Looper is removed because it's only used in
javadoc and triggers package not exist error during build. @linkplain
in the javadoc is also removed because it triggers an error in
Metalava parsing and isn't critical.

- Added small utilities: These utilities has their full version in
platform, but is too large and contains too many internal references
in methods unreferenced by role, whereas actually role only needs 1 or
2 methods from them. So just create a small copy of the used methods
for role modularization, and they will be moved into APEX with role.

Bug: 158736025
Test: manual
Change-Id: I74f20b37d23370e258e7fc7130e28c5312abf46c
2021-01-22 14:27:00 -08:00
Hai Zhang
d066c7c933 Move computePackageStateHash() implementation into platform.
The computePackageStateHash() implementation needs
PackageManagerInternal.forEachInstalledPackage(),
getApplicationEnabledState(), getEnabledComponents() and
getDisabledComponents() to work, for which we don't have good
alternatives in API. Even if we added those APIs, generating and
iterating over PackageInfo for all packages in the system would surely
drive up CPU and memory usage and regress our performance, and the new
AndroidPackage system APIs isn't ready in S yet. So we can move
computePackageStateHash() implementation into platform. Once we move
role logic into system server, granting default roles may be fast
enough and we may consider the deprecation/removal of this.

This way we can also remove the final dependency we have on
PackageManagerInternal and be ready for modularization.

Bug: 158736025
Test: presubmit
Change-Id: I14119f2e95c861ee3539108748a4912b051b4462
2021-01-21 13:55:56 -08:00
Eva Chen
3164ff667d Merge changes Ife27ecd6,I1a893ea8
* changes:
  Add GnssTimeUpdateService.
  Add meta-text about gnss time update attribution.
2021-01-21 01:09:18 +00:00
Eva Chen
270ae737c2 Add GnssTimeUpdateService.
GnssTimeUpdateService listens for location updates. Once an update is
received, it reads the time provided by GPS and suggests it to
TimeDetectorService. TimeDetectorService can then use it to set the
SystemClock based on included time sources and priority.

Bug: 157265008
Test: Presubmits + atest + Manual
- atest frameworks/base/services/tests/servicestests/src/com/android/server/timedetector/GnssTimeUpdateServiceTest.java
- For manual testing, the Location Shell Commands can be used to add /
  enable a gps test provider to set gps locations with a specified time.
  The time detector dumpsys can then be used to verify that a GNSS
  suggestion has been made.

Change-Id: Ife27ecd6d122f33b7cc93d7832e3085acc33c160
2021-01-20 14:48:12 -08:00
Hai Zhang
ce2a80437d Use a single interface for reading pre-Q and pre-S role state.
The logic to read the platform XML is moved from RoleUserState. The
logic to read legacy settings is left untouched except refactored to
return the mapping at once.

Bug: 158736025
Test: presubmit
Change-Id: Ifd1770bf869ea77b2f8a4ff8b3eae46a46cc90cf
2021-01-15 13:36:55 -08:00
Josh Gao
1c687e16a6 Merge changes I0f1d59ae,I2f63bffb am: 9f7a73fc21 am: 87caaf0da8 am: e0cbabe562
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1432973

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0298ef531a86502e0da39b68193f2647a13ce01d
2021-01-14 04:43:26 +00:00
Josh Gao
9f7a73fc21 Merge changes I0f1d59ae,I2f63bffb
* changes:
  fdtrack: GC before checking fd count.
  Move system_server fdtrack implementation to Java.
2021-01-14 01:22:22 +00:00
Kevin Han
63576ff7d3 Add app hibernation service stubs
Add app hibernation system service and manager class and start it when
app hibernation flag is enabled.

The actual API is currently stubbed and will be implemented in further
CLs.

Bug: 175829330
Test: adb shell device_config put app_hibernation
app_hibernation_enabled true
adb reboot
adb shell services list

Change-Id: Ide2758d3eaabae7d3df6356d4b6435c5137c554d
2021-01-13 16:43:11 -08:00
Lorenzo Colitti
4c5b52da8d Merge changes I3eb82680,I9d6147d9 am: bbd9fb5c27 am: c27bf45cb6 am: 54e08a027c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547644

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3f0d6bfead295ed6a98a15ef9bb3542b88d5652a
2021-01-13 00:50:46 +00:00
Joanne Chung
aa1949639a Register translation service.
Bug: 173243538
Test: manual. Make sure device can boot to home and we can get
the TranslationManager successfully.

Change-Id: Ib0e733d6b8f3792431d71f9791b5b2e43a029a7b
2021-01-12 12:19:49 -08:00
Lorenzo Colitti
682686bdff Stop using IIpConnectivityMetrics in ConnectivityService.
Currently, ConnectivityService calls the IpConnectivityMetrics
service class directly to log default network events. This is
incompatible with ConnectivityService being in a mainline module.
Replace direct access to IIpConnectivityMetrics with public
methods in IpConnectivityLog, which is @SystemApi class.

The new methods are not yet @SystemApi, but they can be made so
if desired. Alternatively, these metrics could be deleted.

Also remove the IpConectivityMetrics service from the
service-connectivity JAR, and go back to starting it from
SystemServer.java, which is what was happening a few hours ago
before aosp/1542626 was merged.

Test: builds, boots
Test: atest FrameworksNetTests
Test: "dumpsys connmetrics" shows events, including default network events
Change-Id: I9d6147d93590363a2f8f83f39f05c03d001b4851
2021-01-12 23:19:49 +09:00
Remi NGUYEN VAN
2f01d3d29d Merge "Revert^2 "Move service-connectivity to the tethering APEX"" am: 2f0fafeb11 am: f931a80e81 am: ce98a47a89
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1542626

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I81a7577b0cf474bbb53ca38ddd093ba4342ab543
2021-01-12 03:42:16 +00:00
Remi NGUYEN VAN
2f0fafeb11 Merge "Revert^2 "Move service-connectivity to the tethering APEX"" 2021-01-12 01:35:30 +00:00
Josh Gao
192102c35b fdtrack: GC before checking fd count.
Test: treehugger
Change-Id: I0f1d59ae4240a24f8b8e4b015c1923acb1140bce
2021-01-11 13:56:10 -08:00
Josh Gao
3ede7b4930 Move system_server fdtrack implementation to Java.
Test: manual
Change-Id: I2f63bffba55d6fc82d128c7e7546a193e0f62a73
2021-01-11 13:56:10 -08:00
Kohsuke Yatoh
73979a8847 Merge "Do not load Typefaces twice in system server." 2021-01-09 01:16:50 +00:00
Remi NGUYEN VAN
86a4035283 Revert^2 "Move service-connectivity to the tethering APEX"
As part of modularization of ConnectivityService and expansion of the
Tethering module scope, move service-connectivity.jar into the tethering
APEX, and load it from there.

This rolls forward the change. The original topic was reverted because
of a bad merged-in clause; this is fixed and re-verified in this topic.

Bug: 171540887
Test: m, device boots and connectivity

Change-Id: I293b09c0dc04c6ccafa30cd0f1a63efe32283604
2021-01-08 01:23:36 +00:00
Pete Bentley
72b28f2690 Revert "Move service-connectivity to the tethering APEX"
Revert submission 1532910-connectivity_jar_in_apex

Reason for revert: Breaks boot tests: b/176969905
Reverted Changes:
Ie41a5b569:Set setCurrentProxyScriptUrl as public
Id7b6a4664:Move service-connectivity to the tethering APEX
Ia7cb83834:Add service-connectivity to tethering APEX

Change-Id: I1c369dd8a6527513f8fc1a5cacde59d78d104c7e
(cherry picked from commit 3e157018f7)
2021-01-07 10:04:48 -08:00
Andrei-Valentin Onea
04f02686b8 Merge changes from topic "preinstall-overrides" am: 29ed176b46 am: d1ebbf5086 am: dd1d1cbacc
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1520701

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifbdca1201aa118e59b45f7dd89441a210fc2fa9c
2021-01-07 17:52:57 +00:00
Treehugger Robot
1ef739b3fa Merge changes from topic "revert-1532910-connectivity_jar_in_apex-LKXFLQGLIU"
* changes:
  Revert "Set setCurrentProxyScriptUrl as public"
  Revert "Move service-connectivity to the tethering APEX"
2021-01-07 15:25:03 +00:00
Andrei-Valentin Onea
29ed176b46 Merge changes from topic "preinstall-overrides"
* changes:
  Add force_non_debuggable_final_build_for_compat
  Allow overriding compat config prior to install time.
2021-01-07 14:04:12 +00:00
Pete Bentley
3e157018f7 Revert "Move service-connectivity to the tethering APEX"
Revert submission 1532910-connectivity_jar_in_apex

Reason for revert: Breaks boot tests: b/176969905
Reverted Changes:
Ie41a5b569:Set setCurrentProxyScriptUrl as public
Id7b6a4664:Move service-connectivity to the tethering APEX
Ia7cb83834:Add service-connectivity to tethering APEX

Change-Id: I1c369dd8a6527513f8fc1a5cacde59d78d104c7e
2021-01-07 13:51:18 +00:00
Lorenzo Colitti
f9ae26f742 Merge changes from topic "connectivity_jar_in_apex" am: 60dfb880de am: 6feb97a95b am: 7a26ec1976
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1532910

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I49964ba08c0983cd51fa06afe0be07a5c9bfaab1
2021-01-07 10:10:11 +00:00
Remi NGUYEN VAN
dbbf7a3b4e Move service-connectivity to the tethering APEX
As part of modularization of ConnectivityService and expansion of the
Tethering module scope, move service-connectivity.jar into the tethering
APEX, and load it from there.

Bug: 171540887
Test: m, device boots and connectivity
Change-Id: Id7b6a4664ae73224b9ab219c94f56d603a62ee5a
2021-01-07 11:52:42 +09:00
Andrei Onea
224f8c01d7 Allow overriding compat config prior to install time.
If the user tries to apply an override for a package that is not yet
installed, the override is put into a 'deferred' bucket, to be validated
upon installation.
Overrides are rechecked every time an app is installed, updated or
deleted.
If a deferred override is valid at install or update time, it gets
promoted to a regular override.
If a deferred override cannot be applied upon app installation or
update, it remains deferred.
If an app is deleted, all its overrides become deferred.
When any of the reset commands are called for a given package, that
removes both regular and deferred overrides.

Bug: 158696818
Test: atest CompatConfigTest
Test: atest OverrideValidatorImplTest
Change-Id: I50eab62214d1325ec6185ddcfe9e8f425e11c98b
2020-12-30 14:37:12 +00:00
Hyunyoung Song
21e60a9d43 Add Initial SearchUIManager
Bug:162234997

Test: builds, locally ran cts tests

CTS tests: ag/13129468

[Meeting notes with Svet/Sunny/Winson] go/aaplus-search-api
[Design diagrams] go/aaplus-search-supl

Change-Id: I4589cd411e124dc9d7ea132a71651f6b9f9656ae
2020-12-15 18:54:43 +00:00
Kohsuke Yatoh
f0acf2f128 Do not load Typefaces twice in system server.
Zygote should have already loaded them if
ENABLE_LAZY_TYPEFACE_INITIALIZATION is false.

Bug: 172891184
Test: boot
Change-Id: I3c02463b217f31068dc26bf3451cb1d612154230
2020-12-10 15:24:21 -08:00
Darryl L Johnson
61c63d5306 Migrate DisplayFoldController fold state to be based on device state.
This modifies DisplayFoldController to base it's internal 'fold' state
from being configured directly based on the lid switch (or the proximity
sensor) to be based on the device state.

Bug: 159401801
Test: Manual - fold/unfold and validate fold state

Change-Id: Ib3ecc6326b1d73720d31fa94f33160cfaf1109cd
2020-12-10 12:24:56 -08:00