Commit Graph

1475 Commits

Author SHA1 Message Date
Hans Boehm
6a5274513a Add System.runFinalization() call
Lone calls to System.gc() generally don't do anything.
Runtime.getRuntime().gc() would force a GC, but it would be ineffective
without waiting for reference processing and finalization to complete.
Adding the runFinalization() call implicitly makes the preceding GC call
effective.

Bug: 183912710
Test: Treehugger
Change-Id: I0f4806b8e3f9ca898eb7ea1b1c8de14aa94e2646
Merged-In: I0f4806b8e3f9ca898eb7ea1b1c8de14aa94e2646
2021-07-09 10:23:30 -07:00
Christian Wailes
4a99888888 Merge "RESTRICT AUTOMERGE: Revert "Register ART Service with the System Server"" into sc-dev 2021-05-24 22:38:59 +00:00
Josh Gao
a6596c9925 fdtrack: add stats logging.
Bug: http://b/183008833
Bug: http://b/183018597
Test: adb shell 'setprop persist.sys.debug.fdtrack_interval 10; stop; start' && statsd_testdrive 352
Change-Id: Ibc2293f8f1c7f0f29a166ac8dc93afc8dfd8b7de
Merged-In: Ibc2293f8f1c7f0f29a166ac8dc93afc8dfd8b7de
(cherry picked from commit 53731ea9ab)
2021-05-19 14:29:36 -07:00
Chris Wailes
4ac971346d RESTRICT AUTOMERGE: Revert "Register ART Service with the System Server"
This reverts commit 09724a755f.

Test: m
Bug: 184281926
Change-Id: I6aa8eff8ab09ef8ebab58bb22f65203cb4349a48
2021-05-19 19:28:44 +00:00
TreeHugger Robot
7c4e5a69b0 Merge "Clear updated font files in safe mode." into sc-dev 2021-05-14 20:55:52 +00:00
Kohsuke Yatoh
d18a901b23 Clear updated font files in safe mode.
Bug: 176939176
Bug: 181536798
Bug: 187190639
Test: atest FrameworksServicesTests:UpdatableFontDirTest
Test: atest UpdatableSystemFontTest
Test: manually triggered safe mode and confirmed updated fonts are
      removed.
Change-Id: I946a7df383a27bbfda2931a916ca28d8ee14feb6
2021-05-09 09:42:13 -07:00
Michael Wright
e3912446ec Create Java interface to SensorService.
This is in preparation for adding some system_server-only, non-binder
APIs, which mean we need to keep a handle to the actual class and not
just the binder interface.

Bug: 175793106
Test: boots, sensors work
Change-Id: I83dcaee53ac52e95aa238a8fa9b875caeeddc725
2021-05-04 18:33:30 +01:00
Ilya Matyukhin
e1b53af498 Consolidate registration of HIDL and AIDL HALs
This CL establishes a single flow of registration for both HIDL and
AIDL HALs. The registration of both is done on a separate thread to
avoid blocking system server. Previously, only AIDL registration was
done on a separate thread.

Bug: 184677066
Test: atest CtsBiometricsTestCases
Test: atest AuthServiceTest
Test: atest Fingerprint21Test
Test: atest Face10Test

Change-Id: I4442db15a7b690bb34c6eb7e8793ab4411cbd6d2
2021-04-26 16:40:36 -07:00
Evan Severson
f55d0c0d27 Merge "Remove the signature protection for sensor privacy permissions" into sc-dev 2021-04-20 18:01:40 +00:00
Evan Severson
2f630c61f7 Remove the signature protection for sensor privacy permissions
Only a couple distinguished packages will need to hold these
permissions. We can grant via role for these cases.

Previously system ui was started assuming the system server was
initialized enough but the problem was that the role service may not
have finished granting all permissions. If we start sys ui after system
services have finished onUserStarting then we can _probably_ safely
assume the state of user 0 is initiallized.

Test: Wipe & reboot; dumpsys package com.android.systemui
Test: atest SystemUiTests
Bug: 184303952
Change-Id: I160ac8e0f2fbc36a76e8f2ee99d73e613ddc3c11
2021-04-14 09:00:20 -07:00
Roshan Pius
27e1a87a48 Uwb: Create a new Uwb system service
This thin AOSP service layer will trampoline all API calls to the vendor
UWB service.

In follow up CL's,
i. The AOSP service will perform all the permission checks
necessary for this API surface before forwarding the call to the vendor
UWB service.
ii. Similarly, it will perform necessary permission checks +
noteOp before forwarding the ranging callbacks from the vendor service
back to the apps.

Bug: 183904955
Test: atest android.uwb.cts.UwbManagerTest
Test: atest com.android.server.uwb
Change-Id: I2b367d1b6accc2f4e075cacb5c8e3c51f1faf5db
2021-04-13 08:47:31 -07:00
Joanne Chung
57dc3874f6 Remove translation service feature.
Currently, the Translation uses feature to determine if we need to
start the translation system service. But our case is like the
content capture not the autofill, the autofill can have the feature
without any service defined and the user can install one later. But
translation isn't, we should need to check config instead of
feature.

The feature will not be used anymore, it's safe to delete it. If we
leave the removal to next OS, it is painful to delete it.

Bug: 183360041
Test: atest CtsTranslationTestCases

Change-Id: Ib6886a17965937abf064e526c36c67428af7398f
2021-04-12 16:03:44 +08:00
Jimmy Shiu
25318b7316 ADPF: Add HintManagerService
Test: Manual test, run bouncy ball
Test: atest HintManagerServiceTest
Test: adb shell dumpsys hint
Bug: 158791282
Change-Id: I50b19ab7629f006decbcddd653fb67588fc4160b
Signed-off-by: Wei Wang <wvw@google.com>
2021-04-10 10:21:17 -07:00
Vova Sharaienko
3b18d752be Merge "Stats: updated the order of service registration" into sc-dev 2021-04-08 20:16:43 +00:00
Svetoslav Ganov
64b26b5c49 Merge "Activity recognition source app op tracking" into sc-dev 2021-04-08 18:34:58 +00:00
Vova Sharaienko
e785c01e0a Stats: updated the order of service registration
Stats need to be registered prior sensors service start

Bug: 183916090
Test: build, flash & boot
Change-Id: I4d6eb1adbb0d57e42489ec85829b777e8a27069c
2021-04-07 21:36:45 +00:00
Kalesh Singh
46d2cc8f82 Add memtrackproxy system server service
Serve memtrackproxy service from system server.

This service enforces access control on requests for memory usage stats
to the memtrack HAL based on the call context's PID and UID.

Bug: 177664629
Test: memtrackproxy_test
Change-Id: I10829ffcf4e5b2813d4c622268b0b59da6f171b6
2021-04-07 02:24:34 +00:00
Svet Ganov
99d6115e99 Activity recognition source app op tracking
The activity recognition source may access activity
recognition in its operation as being the activity
recognition source. Accesses from an AR source
(for special tags it designates - the APK may contain
other components) for location and AR are tracked in
a dedicated app op.

bug: 182204957

Test: atest CtsActivityRecognitionTestCases

Change-Id: If29fba1c51d70a2806a0907a73a96d3d8d7a3100
2021-04-06 11:59:03 -07:00
Chris Wailes
09724a755f Register ART Service with the System Server
This CL causes the System Server to create and load the ART Local
Manager.

Test: Build and flash
Bug: 177273468
Merged-In: I9734160f1cd4fd9fc363b3af50e27ec8973be557
Change-Id: I9734160f1cd4fd9fc363b3af50e27ec8973be557
2021-03-31 12:30:16 -07:00
Howard Chen
8cdd089929 Support PersistentDataBlockService in DSU am: 649c198cf3 am: 0680e94757 am: 2d73582c9b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1549485

Change-Id: Id11dfb6ad38e81977f4047edd289d575de9ecd3a
2021-03-17 22:11:32 +00:00
Treehugger Robot
83a6070d12 Merge "Use ro.boot.qemu to check if the device is an emulator" am: 62d82e0b33 am: 4ba8fde9ba am: de535f6eb2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1625662

Change-Id: Ia613c23fb779697882f9928b15684fb1ff97e9cd
2021-03-17 16:09:12 +00:00
Howard Chen
0680e94757 Support PersistentDataBlockService in DSU am: 649c198cf3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1549485

Change-Id: I29806aed4a2a9497237811b5b9b5b9ecb9b6cec8
2021-03-17 02:34:55 +00:00
Treehugger Robot
62d82e0b33 Merge "Use ro.boot.qemu to check if the device is an emulator" 2021-03-16 16:31:57 +00:00
Aaron Huang
e29f0a55d8 Merge changes from topic "pacproxy-service" am: 16f50075b1 am: 688ae36dcb am: ce43593e5e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553959

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If6d34753e8bf9201e16121b8f3c6c83aa6358986
2021-03-15 12:56:09 +00:00
Aaron Huang
5d31a15d84 Make PacProxyService be a system service
PacProxyInstaller class is running a thread all the time and is
listening to intent ACTION_PAC_REFRESH so it would be better to
make it be a system service with a manager class PacProxyManager
which is obtained with getSystemService(PacProxyManager.class).
Besides, rename PacProxyInstaller to PacProxyService will
be easier to know it's the service for PacProxyManager.

ConnectivityService is going to be a mainline module and it
needs constructor of PacProxyService to be SystemApi.
However, in current design, it needs to pass a handler and
an int arguments to the constructor which would be difficult
to maintain if just expose the constructor directly.

So, define a listener for the event that the current PAC
proxy has been installed so that the handler and the int
arguments can be removed from the constructor.

Bug: 177035719
Test: FrameworksNetTests
Change-Id: I2abff75ec59a17628ef006aad348c53fadbed076
2021-03-15 14:40:58 +08:00
Roman Kiryanov
d6a9f42566 Use ro.boot.qemu to check if the device is an emulator
`ro.kernel.qemu` is deprecated.

Bug: 182291166
Test: presubmit
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: Id42d79af90b1fe7e182a96c53c84248e81a7c259
2021-03-10 23:41:31 -08:00
Howard Chen
649c198cf3 Support PersistentDataBlockService in DSU
Currently the PersistentDataBlockService does not start when
running a Dynamic System Update. This CL adds a sandbox-mode
PersistentDataBlockService when running a DSU for the test_harness
environment.

Bug: 175852148
Bug: 175078763
Test: gsi_tool install & \
  finish the vts_kernel_net_tests w/o suspension
Test: gts-tradefed run gts -m GtsOemLockServiceTestCases -t com.google.android.oemlock.gts.OemLockServiceTest
Test: cts-tradefed run cts -m CtsPermission2TestCases -t android.permission2.cts.PrivappPermissionsTest
Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest
Test: atest com.android.server.devicepolicy.FactoryResetProtectionPolicyTest
Test: atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testFactoryResetProtectionPolicy
Test: atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testFactoryResetProtectionPolicy
Test: atest LockSettingsStorageTests
Test: atest frameworks/base/core/tests/coretests/src/com/android/internal/widget/LockPatternUtilsTest.java
Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/LockSettingsStorageTests.java
Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/locksettings/SyntheticPasswordTests.java

Change-Id: I0547d757cf023443d9a00bec962db3f2aad3ff04
2021-03-10 13:00:39 +08:00
Junyu Lai
6a61660729 Merge changes I6512d3f7,I99bca71c am: eccbfe4b72 am: 26d42f094a am: 50a13c982f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1614984

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I57c4dffd22338d850beaff7b2575204ee2a42cd9
2021-03-06 06:25:54 +00:00
junyulai
a76fc32242 [FUI25] Migrate NetworkPolicyManagerService to use ConnectivityManager
Test: atest NetworkPolicyManagerServiceTest
Bug: 174123988
Change-Id: I6512d3f704f35f2cc3555dcc40b46c7294d3b455
2021-03-06 08:38:13 +08:00
Svet Ganov
4700428b6f Location provider app ops remapping
The platform has the concept of a location provider which could
be a plugin implemented by another package. The implementation
of a location provider plugin can make calls to APIs that require
a location permission, e.g. fusing data from different sources.
However, such accesses are counted in app ops as a location access
but the accessor is in this case the data source. It is also
possible that the package that provides the implementation of a
location provider also hosts other funcionality which may need to
call APIs that require a location permission.

This change allows a location provider to specify app op attribution
tags which which could be used when calling location to singal to the
OS that the access is for the location providing functionality of the
location provider. For location accesses of the provider package that
are not related to providing location to the OS the provider can use
any other non delcared as location attribution tags. Accesses with
the location attribution tags would be counted in app ops but instead
of towards the OP_COARSE_LOCATION/OP_FINE_LOCATION the would be
counted towards dedicated OP_COARSE_LOCATION_PROVIDER/
OP_FINE_LOCATION_PROVIDER ops. This would allow proper classification
while enabling auditability and tracking via the standard app op APIs.

<meta-data
    android:name="android:location_allow_listed_tags"
    android:value="foo;bar;baz"/>

Test: atest android.location.cts.fine.LocationManagerFineTest#testLocationAttributionTagBlaming

Bug:179062648

Change-Id: I36739ab42cedc94e1aa7a3bfd3b9aa213f5b3e97
2021-02-24 23:11:35 +00:00
Sergey Volnov
434523ad65 Merge "Always start speech recognition service." into sc-dev 2021-02-24 21:19:05 +00:00
Kevin Han
31d1ff3b8d Merge "Support dynamic feature flag config" am: 201737c781 am: b9f0ad138b am: ac520aad0d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1587774

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib612a893e68e50d1abdfd5c788fb46459e329c2d
2021-02-24 01:09:00 +00:00
Lucas Lin
5c05ff4fce Merge changes I852e3a53,I86755647,I0ed8b0c6 am: 654b0fff63 am: d319fef084 am: 07d4708ab7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553736

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I032e3d8f16b164f067dba02bde950b93f4e54b83
2021-02-23 22:56:46 +00:00
Sergey Volnov
e6c1a120b8 Always start speech recognition service.
Since we've decided to direct all traffic through system server, it now
needs to be started all the time.

Test: atest
Bug: 180951739
Change-Id: I9f1639d13d5d2c00f8cd2a6dae2abe8c44e6c31b
2021-02-23 22:02:27 +00:00
Kevin Han
201737c781 Merge "Support dynamic feature flag config" 2021-02-23 01:36:29 +00:00
Lucas Lin
654b0fff63 Merge changes I852e3a53,I86755647,I0ed8b0c6
* changes:
  Remove unused INetworkManagementService from IpSecService
  Use NetdUtils instead of NetworkManagementService in Vpn
  Use NetdUtils instead of NetworkManagementService in IpSecService
2021-02-22 06:49:39 +00:00
Alex Agranovich
50c987fbb8 Add a system TextToSpeech implementation that initiates the connection through the system server.
This change includes the new System Service that allows the supervised binding to the TextToSpeech service provider.
    It proxies the binding process from the client instead of the direct client -> texttospeech connection.

Bug: 178112052
Test: atest CtsSpeechTestCases
Test: forest apct/device_boot_health_check
Change-Id: I0709e71460fa01ab025c92753a20bce38f562845
2021-02-18 14:31:36 +02:00
Greg Kaiser
a2584ca155 Merge "Revert "Add a system TextToSpeech implementation that initiates ..."" into sc-dev 2021-02-18 05:39:24 +00:00
Greg Kaiser
c09430c189 Revert "Add a system TextToSpeech implementation that initiates ..."
Revert "Add CTS tests for TextToSpeech connection related functi..."

Revert submission 13547465-ttsproxy

Reason for revert: Setup wizard crashes due to "Service not registered: android.speech.tts.TextToSpeech$SystemConnection"
Reverted Changes:
Id4059e460:Add CTS tests for TextToSpeech connection related ...
Ie17800bae:Add a system TextToSpeech implementation that init...

Bug: 180519958
Change-Id: Ie43c485bd4d0f76f8bb0a1dc77d6d85d46ff8377
Test: Locally reverted this change and no longer see the exception in SUW we saw before.
2021-02-18 00:29:01 +00:00
Alex Agranovich
7c064eb586 Merge " Add a system TextToSpeech implementation that initiates the connection through the system server." into sc-dev 2021-02-17 09:16:48 +00:00
Gavin Corkery
37dbb4e5d5 Merge "Initialize RebootReadinessManagerService" into sc-dev 2021-02-17 07:43:18 +00:00
shubang
babb29d480 Unhide media metrics APIs part 2: State event
Bug: 167036690
Test: atest android.cts.statsdatom.media
Change-Id: I8baf2cab6180a325bc105fee9e5b6ad94e28a374
2021-02-17 03:48:35 +00:00
Kevin Han
0da6e9039a Support dynamic feature flag config
For CTS testing purposes, have the DeviceConfig feature flag control
whether app hibernation behavior is stubbed rather than whether the
service itself is started. This allows us to change the feature flag in
tests without restarting system_server

Bug: 175830282
Test: atest AppHibernationServiceTest
Change-Id: Id9ea16345cac84a069ff53939cef1564a585c466
2021-02-16 15:14:44 -08:00
Gavin Corkery
1d94eb9ea5 Initialize RebootReadinessManagerService
Initialize reboot readiness service from the
system server. This service is started
by calling into service-scheduling.jar
directly.

Test: Manual, add logs to check that service
      is correctly started.
Bug: 161353402

Change-Id: I06d55ee6ee5c3dde7524cf508324fd408fb81d22
2021-02-15 21:30:23 +00:00
TreeHugger Robot
78c7be7c05 Merge "Clean up after VibratorManager feature introduced" into sc-dev 2021-02-15 16:14:26 +00:00
Lorenzo Colitti
202658f0a4 Merge changes Ia68f482a,I4911e214,Ied379654,I66d18512,Ie8e1bd63 am: 45ec3191a7 am: 246444fef7 am: ed9730e6f9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1581293

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I698b6b082b121c004b2c8b05ef423da1bd8b871b
2021-02-15 01:32:50 +00:00
Lais Andrade
43bf46112c Clean up after VibratorManager feature introduced
- Move VibratorManagerService to com.android.server.vibrator and make
all other classes there package-private;
- Add some missing haptics-related files to OWNERS files;
- Remove some unused methods;
- Delegate CombinedVibrationEffect to input devices, instead of only
delegating VibrationEffect effects;
- Move vibratorservice.proto to vibrator folder and add missing fields;
- Mark large VibrationThread tests with @LargeTest;

Fix: 131311651
Fix: 177805090
Test: VibratorManagerServiceTest
Change-Id: Ic747190b70b2f45ac7671eb01f8f05cf66d3a96c
2021-02-12 14:45:58 +00:00
Lorenzo Colitti
f83d22b77d Add a skeleton VpnManagerService, and start it on boot.
This adds a lot of unused code but this should make it easier to
review subsequent CLs.

Bug: 173331190
Test: builds, boots, "dumpsys vpnmanager" succeeds
Change-Id: Ied379654a0c3ab6242d3125661fe30f322395059
2021-02-12 01:07:29 +09:00
TreeHugger Robot
ba4fa60b35 Merge "Introduce SystemVibratorManager" into sc-dev 2021-02-11 13:12:18 +00:00
Lais Andrade
55a0aebe7f Introduce SystemVibratorManager
Add default system implementation of vibrator manager service that uses
IVibratorManagerService to access the device vibrators.

Change implementation of SystemVibrator to use VibratorManagerService
and delete local service VibratorService.

Introduce missing public APIs for VibratorManager and Vibrator.getId.

Bug: 167946816
Test: VibratorManagerServiceTest, VibratorTest, VibrationEffectTest
Change-Id: I55cdeb72c7ca39ccf0c7b2fda60b16de1031801e
2021-02-11 09:26:21 +00:00