Commit Graph

959 Commits

Author SHA1 Message Date
Neil Fuller
269be44f8f Merge "Add a service for reporting runtime debug info" am: 08cbafefdc am: 20547cf20d
am: b5354b7ca9

Change-Id: I2395418164f3dbcb04bc18647c6cccf7a025c1b4
2018-12-04 00:56:36 -08:00
Neil Fuller
b5354b7ca9 Merge "Add a service for reporting runtime debug info" am: 08cbafefdc
am: 20547cf20d

Change-Id: I29e7fe0355c7461ca6b939c669b9e4f3d471c4b6
2018-12-04 00:36:09 -08:00
Neil Fuller
ab0b81e921 Add a service for reporting runtime debug info
Add a service for reporting runtime debug info via dumpsys.

With expected OEM customization / module versions in play
it makes sense to have runtime and associated "core library"
information in bug reports. The dumpsys information can also
be used from from host-side tests.

Bug: 119026403
Bug: 118242715
Test: adb shell dumpsys runtimeinfo
Change-Id: I62637a1c8bfd65d5de9b3e47b8700ead4bc314f2
2018-12-03 15:41:50 +00:00
Annie Meng
8c0d41ac2d Merge "[Multi-user] Rename GlobalBackupManagerService -> BackupManagerService" 2018-11-29 13:36:57 +00:00
Annie Meng
384230f9e0 [Multi-user] Rename GlobalBackupManagerService -> BackupManagerService
Restore original naming since UserBackupManagerService is now merged.

Just find and replace, no functionality changes in this CL.

Bug: 118520567
Test: 1) atest RunFrameworksServicesRoboTests
2) atest $(find \
frameworks/base/services/tests/servicestests/src/com/android/server/backup \
-name '*Test.java')
3) adb shell bmgr flows
Change-Id: Ia37997cec93fac9ebb5102edfff9000c9cff4eb1
2018-11-28 12:30:21 +00:00
Annie Meng
178828f259 Merge "[Multi-user] Extract BackupManagerService to UserBackupManagerService" 2018-11-28 10:37:18 +00:00
Annie Meng
813716b199 [Multi-user] Extract BackupManagerService to UserBackupManagerService
BMS is split into GlobalBMS and UserBMS.
UserBMS:
- Core backup/restore implementations and bookkeeping.
- Will be per user in a future CL (only one instance in this CL to limit
scope of changes).

GlobalBMS:
- System service definition, interaction with Trampoline, user-aware
operations.
- Will be renamed back to BMS in a future CL (so BMS history can follow
UserBMS in this CL).

*** Reviewers, please pay attention to the patchset breakdown to better
understand what is a rename/move vs. new changes ***

* Base -> Patchset 2: BMS splits into GlobalBMS and UserBMS (MOVE ONLY)

Patchset 1: Rename BMS -> UserBMS
Patchset 2: Move parts of UserBMS to GlobalBMS
No new functionality, only moving existing code.

* Patchset 2 -> Patchset 3: New functionality for GlobalBMS

- Switch references from BMS to GlobalBMS in Trampoline.java.
- Change the definition of the system service in SystemServer.java to
GlobalBMS.
- Instantiate one instance of UserBMS in GlobalBMS constructor.
- Add all IBackupManager methods, which for now just directly calls the
corresponding method in UserBMS.

* Patchset 3 -> Patchset 4: Migrate usages of BMS in code (RENAME ONLY)

Find and replace, no new functionality.

* Patchset 4 -> Patchset 5: Migrate usages of BMS in tests (RENAME ONLY)

Find and replace, no new functionality.

* Patchset 5 -> Patchset 6: New tests for GlobalBMS

Add tests for all the new IBackupManager methods added (just tests
straight redirection for now).

* Overall: View Patchset 2 -> [Latest Patchset] for new code.

TODO: Modify art-profile with rename

Bug: 118520567
Test: 1) atest RunFrameworksServicesRoboTests
2) atest $(find
frameworks/base/services/tests/servicestests/src/com/android/server/backup
-name '*Test.java')
3) atest GtsBackupHostTestCases
4) atest CtsBackupTestCases
5) atest CtsBackupHostTestCases
6) atest DeviceOwnerTest
7) 'Backup Now' in Settings
8) Cloud and d2d restore in SUW; deferred restore
9) All 'adb shell bmgr' flows
10) adb backup; adb restore
Change-Id: Ib5a5837375fe950bc7d33a5e31cca16b605541f9
2018-11-27 14:23:30 +00:00
TreeHugger Robot
50f27c4a60 Merge changes from topic "revert-to-single-threaded-oms-init"
* changes:
  Decouple the display manager from the overlay manager
  Revert: "Init of OverlayManagerService on a parallel thread"
2018-11-26 16:30:24 +00:00
Felipe Leme
29397ce998 Temporarily disabled IntelligenceService.
It's not properly ignoring events when the service is not set, which is causing
issues on some apps.

Fixes: 119659731
Test: manual verification

Change-Id: Ie271b8fcfde0bc2a5d6bf7c73b88bd6c48d50fdb
2018-11-16 18:13:30 -08:00
Mårten Kongstad
250cb2b97d Decouple the display manager from the overlay manager
The display manager relies on resources that may or may not have been
modified via runtime resource overlay. Because the overlay manager is
initialized in parallel with the display manager, the two need to
synchronize their work so the display manager knows when it can rely on
its resources.

An upcoming change will hold off on threading the system until after the
initialization of the overlay manager. This means all overlays should be
setup before other services start, which in turn means no additional
synchronization is required. As a first step towards this, remove the
synchronization between the display manager and the overlay manager.

Also remove unused variable LogicalDisplay#PROP_MASKING_INSET_TOP.

Bug: 80150169
Test: builds, boots
Change-Id: I844de9e09eb1464ae112e1b480d21cf662a026e0
2018-11-15 16:00:57 -08:00
Felipe Leme
cb9172a0db Merge "Allow Intelligence Service app to obtain Clipboard permission." 2018-11-15 01:59:24 +00:00
TreeHugger Robot
c1d607e90d Merge "Add ColorDisplayManager" 2018-11-15 00:40:26 +00:00
Felipe Leme
927fbf0f27 Allow Intelligence Service app to obtain Clipboard permission.
Test: manual verification

Bug: 111276913
Fixes: 119440304

Change-Id: I8dc97e4517367eaf8736741ce04040efaeb84355
2018-11-14 14:32:46 -08:00
Eugene Susla
f84f1fd2d9 Merge "Add RoleManagerService as a boot phase" 2018-11-13 20:02:27 +00:00
Yohei Yukawa
bae5bea23c Introduce multi-client IME for special form factors
An advanced multi-display support is requested for certain Android
form-factors so that user(s) can type text on each display at the same
time without losing software keyboard focus in other displays. This is
not possible in existing Android IMEs that are built on top of
InputMethodService class, because the assumption that a single IME
client can be focused at the same time was made before Android IME
APIs were introduced in Android 1.5 and many public APIs in
InputMethodService have already relied heavily on that
assumption. Updating InputMethodService class to support multi-client
scenario is, however, quite challenging because:

 1. doing so would introduce an unacceptable amount of complexity into
    InputMethodService, which is already hard to maintain,

 2. IME developers still need to update their implementation to be
    able to support parallel requests from multiple focused IME
    client, which may require non-trivial redesign in their side
    (e.g. input decoder, typing history database, ...), and

 3. actual use cases for multi IME clients are expected to be evolved
    rapidly hence the new protocol is not yet stable and not yet ready
    to be exposed as public APIs.

This is why a new type of IME needs to be designed and developed
specifically for such special multi-display environments, rather than
reusing existing InputMethodService public class.

Note that there must be no behavior change unless multi-client IME is
explicitly enabled with 'adb shell setprop', which requires root
permission.

See multi-client-ime.md for details.

Fix: 114662040
Test: Manually verified as follows:
  1. make -j MultiClientInputMethod
  2. adb install -r $OUT/system/priv-app/MultiClientInputMethod/MultiClientInputMethod.apk
  3. adb root
  4. adb shell setprop persist.debug.multi_client_ime \
       com.example.android.multiclientinputmethod/.MultiClientInputMethod
  5. adb reboot
  6. Try multiple text input scenario
Change-Id: I41dfe854557b178d8af740bc2869c936fc88608b
2018-11-12 15:20:20 -08:00
Eugene Susla
6d492272b2 Add RoleManagerService as a boot phase
For now it just reads the xml config file on boot

Test: adb logcat | grep -n20 Role # during boot
Change-Id: Iad907fe9bf52f5ed15066484aec60b3a9f51568a
2018-11-12 22:18:27 +00:00
TreeHugger Robot
2112895bb4 Merge "SystemServer: Support deviceSpecificAudioService for ARC" 2018-11-12 02:11:41 +00:00
Kevin Chyn
a85b4a2d29 Merge "Return correct error when HW there is no biometric hardware" 2018-11-09 04:42:35 +00:00
Wale Ogunwale
355ea855f6 Merge "Unify Activities and Windows under one lock (38/n)" 2018-11-08 14:48:43 +00:00
paulhsia
0a1b32245e SystemServer: Support deviceSpecificAudioService for ARC
Load device specific audio service for needed devices.

Bug: 119241152
Test: Apply full topic to test Arc audio functionality
Change-Id: Ibc1a7844faf5a6e54acc3342cf603023ada74b92
2018-11-08 18:29:42 +08:00
Wei Wang
bad7c20606 Add thermal service into system_server
This system service will listen to ThermalHAL for throttling events and
take actions accordingly, e.g. shutdown device and/or sending
notification to registered listeners to IThermalSerivce.

Bug: 79443945
Bug: 118510237
Bug: 111086696
Bug: 116541003
Test: Boot and test callback on ThermalHAL 1.1
Test: Boot and test callback on ThermalHAL 2.0
Test: Kill ThermalHAL process
Test: Change device threshold to trigger shutdown
Change-Id: I1f4066c9f1cf9ab46c1738a0a4435802512e4339
2018-11-07 13:38:57 -08:00
Wale Ogunwale
1f5e53d4a6 Unify Activities and Windows under one lock (38/n)
Final step before we actually start unifing the hierarchy is to have
activity and window manager under one lock. This CL makes it so.
Note, that there are probably areas where this change might lead to dealock
however we can fix those areas as we discover them.

Test: Existing tests pass
Bug: 80414790
Change-Id: Ie4b71d4ceb986256482031a99065b8d2ef60ebe8
2018-11-07 07:09:35 -08:00
Kevin Chyn
e739daf2e8 Return correct error when HW there is no biometric hardware
Devices that have no biometric hardware should still get the
BIOMETRIC_ERROR_HW_NOT_PRESENT error. Currently they get the
BIOMETRIC_ERROR_HW_UNAVAILABLE error which is slightly wrong.

Fixes: 119109074

Test: Builds
Change-Id: I32134a35fd2844bc6a4a64ded9695ae596496ef2
2018-11-06 20:08:42 -08:00
Christine Franks
ea7d71b3aa Add ColorDisplayManager
Add ColorDisplayManager class, and shift some functionality from
ColorDisplayController

Bug: 111215474
Test: atest FrameworksServicesTest:ColorDisplayServiceTest
Change-Id: Ic38a12e1e0b0619fdad42a89b7ac3e878c8128b2
2018-11-06 21:31:15 +00:00
Felipe Leme
e348dc3486 Initial implementation of the IntelligenceService pipeline.
It's still full of TODOs, but at leats it now provides an end-to-end
workflow from the activity creation / destruction to the service implementation.

Test: mmm -j packages/experimental/FillService && \
      adb install -r ${OUT}/data/app/FillService/FillService.apk && \
      adb shell settings put secure intel_service foo.bar.fill/.AiaiService
Bug: 111276913

Change-Id: Id5daf7b8b51e97c74d9b6ec00f953ddb02b48e46
2018-11-06 10:01:02 -08:00
Kevin Chyn
8d45688b6d Merge "Add placeholders for IrisManager/Service" 2018-11-06 06:29:22 +00:00
Kevin Chyn
51676d293a Add placeholders for IrisManager/Service
With the system services in place, we can add SELinux policies

Bug: 116530289

Test: Builds
Change-Id: I0fd0dfbbbf258eb4a0ef9019247baaf323578959
2018-11-05 18:57:15 -08:00
Wale Ogunwale
595070969d Moved Activity management out of ActivityManager to WindowManager (37/n)
What could go wrong ;)

Note that ATMS and all other activity management files are still under
the AMS lock. We will be changing them soon to use the WMS lock, but
till then it is important to take care not to use the WMS lock for
activities stuff and AMS lock for window stuff.

Test: Existing tests pass
Bug: 80414790
Change-Id: I69f5a6e40ad892557a425e1f34be987507102136
2018-11-03 23:23:06 -07:00
Kenny Root
f74bfdee01 Add empty AdbService to SystemServer
Create skeleton service to migrate functions from UsbService in later
change.

Bug: 63820489
Test: make
Change-Id: I07672fe87cfae188fe77c173fc49119e182c6b05
2018-10-31 16:11:01 +09:00
Andreas Gampe
3c27f0b88d Merge "Frameworks: Add VMRuntime.hasBootImageSpaces check" am: 9135811848 am: b9da5284fc
am: 7bd2e0ce26

Change-Id: I1925a99d5f8128caded1c2f11956e3df7d4a9e08
2018-10-11 09:15:06 -07:00
Andreas Gampe
7bd2e0ce26 Merge "Frameworks: Add VMRuntime.hasBootImageSpaces check" am: 9135811848
am: b9da5284fc

Change-Id: Ib02426fb94ab9fc4b448ebb5f4d928ec2cb7afbf
2018-10-11 08:59:08 -07:00
Rick Yiu
04618d5456 Merge "Do not start VrManagerService if VR is not supported" into pi-dev
am: 2667c1dfa2

Change-Id: I76eb570e1c08ee57d931221169b503033e466d49
2018-10-10 21:23:50 -07:00
Andreas Gampe
e697a4fc64 Frameworks: Add VMRuntime.hasBootImageSpaces check
Log a wtf in the system server when the runtime does not
use a boot image.

Test: m
Test: system boots
Change-Id: I087c269dd1e95eeeab5db4250133f9c61e9399c7
2018-10-09 11:24:24 -07:00
Philip P. Moltmann
20dd431f20 Do not allow to revert setForceSafeLabel
Test: Built
Bug: 116798569
Change-Id: I3f26d4466c84d3decb1c4962fb45e900ba35f68e
2018-10-08 16:56:49 -07:00
Makoto Onuki
df7e481b20 Add API surface for "keep SMS app running".
Bug: 109809543
Test: build & boot
Change-Id: Ie9ebf1f34052394a92c3f260413c18596709d3a3
2018-09-26 11:51:06 -07:00
Rick Yiu
336be26281 Do not start VrManagerService if VR is not supported
When VR mode is not supported by removing the feature of
android.hardware.vr.high_performance, do not start VrManagerService.
Otherwise, there will be undesired behavior, such as calling into
PowerHal/VrHal for VR hints.

Test: no undesired behavior observed
Bug: 116427118
Change-Id: I3e3c1f02c2fad958d8659d7957d005d25d823c3e
Merged-In: I3e3c1f02c2fad958d8659d7957d005d25d823c3e
2018-09-24 12:57:42 +08:00
Kevin Chyn
352adfec61 2/n: Rename BiometricPromptService to BiometricService
This is in preparation for BiometricManager. Each Manager should have its
own Service.

Bug: 112570477

Test: BiometricPromptDemo works
Change-Id: Ibbbd499a0fd5a2050b329ee038776c6c9f49cdb2
2018-09-20 23:51:40 -07:00
TreeHugger Robot
229a0718ff Merge "Move TextServicesManagerService to com.android.server.textservices" 2018-09-15 00:53:35 +00:00
TreeHugger Robot
723438885d Merge "Revert "Revert "Do not start VrManagerService if VR is not supported""" 2018-09-14 20:00:22 +00:00
Steve Paik
117fcb06fc Add disableNetworkTime config property
This was removed as part of this bug because the config wasn't used:

    Bug 64052650
    Change-Id I5c8ed3f0e78c2ed0d2e733939a82e1ab8940de22

This is now needed by Android Automotive since the network module may
live off board in a vehicle.

Bug: 110800197
Test: make & flash
Change-Id: I3715602e7fb22503d6867b61c22bdcb963174059
2018-09-13 17:20:33 +00:00
Yohei Yukawa
eb1e8049c1 Move TextServicesManagerService to com.android.server.textservices
This CL moves TextServicesManagerService (TSMS)
  from com.android.server
    to com.android.server.textservices
so that we can mechanically factor out inner classes from IMMS to
separate package private classes.

This is purely a mechanical refactoring of an implementation detail.
There should be no observable behavior difference.

Fix: 115516399
Test: manually verified with AOSP spellchecker
Change-Id: Iaaf627e48e3f040795f58e03b1292a991afb82b4
2018-09-12 14:02:00 -07:00
Rick Yiu
b287592578 Revert "Revert "Do not start VrManagerService if VR is not supported""
This reverts commit f5d99fa7d9.

Bug: 112064298
Change-Id: Ib2b595f8f98a577af205d5169af28a185ef00f03
2018-09-12 11:07:25 +00:00
Yohei Yukawa
603f4d00c6 Move InputMethodManagerService to com.android.server.inputmethod
This CL moves InputMethodManagerService (IMMS)
  from com.android.server
    to com.android.server.inputmethod
so that we can mechanically factor out inner classes from IMMS to
separate package private classes.

This is purely a mechanical refactoring of an implementation detail.
There should be no observable behavior difference.

Fix: 114660660
Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases
Test: atest FrameworksCoreTests:com.android.internal.inputmethod
Change-Id: I023d8f2863601ee54f304988117d8ea750770f70
2018-09-11 15:04:58 -07:00
Adrian Roos
f5d99fa7d9 Revert "Do not start VrManagerService if VR is not supported"
This reverts commit af1eda2654.
Bug: 112064298
Change-Id: Ie7912c055e8e27250b0404e337813c0ee670b1de
2018-09-10 16:09:59 +00:00
Rick Yiu
af1eda2654 Do not start VrManagerService if VR is not supported
When VR mode is not supported by removing the feature of
android.hardware.vr.high_performance, do not start VrManagerService.
Otherwise, there will be undesired behavior, such as calling into
PowerHal/VrHal for VR hints.

Test: no undesired behavior observed
Bug: 112064298
Change-Id: I3e3c1f02c2fad958d8659d7957d005d25d823c3e
2018-09-08 19:21:31 +08:00
TreeHugger Robot
dfdc67d9cf Merge "Injecting system calls into alarm manager" 2018-09-07 02:19:37 +00:00
Suprabh Shukla
6226c2ff3c Injecting system calls into alarm manager
Injecting and mocking dependencies to make the service unit testable.
Shuffled around initialization to make that possible.

Also added the first batch of unit tests. The idea is to have extensive
coverage of minute pieces of alarm manager logic, which should help us
catch any regressions caused by future changes to the code.

Test: atest com.android.server.AlarmManagerServiceTest
atest CtsAlarmManagerTestCases

Bug: 111454659
Change-Id: Ifa1c09646f688cf5c41abe17d98dbc19978eac70
2018-09-06 16:20:30 -07:00
Marcin Oczeretko
c80c81a516 Extract CachedDeviceState from BinderCallsStats
Add a service that tracks the device state properties which are
interesting to System Server telemetry services. Allows the services to
share this code and have consistent state information.

Test: Unit tests and manually tested
Change-Id: Ia5c78c45a55414a0c5c46202db2a37283b50a703
2018-09-06 10:54:55 +01:00
Marcin Oczeretko
d8cc8593c0 Collect telemetry data for System Server Loopers.
Adds LooperStats and LooperStatsService which set a static
Looper.Observer to record the count of dispatched messages and
cpu/latency information. The aggregated stats are collected by
Westworld as pulled atoms.

The collection is disabled by default and requires a manual call to
enable:

adb shell cmd looper_stats enable

Test: Unit tests and tested manually that the collected data seems
reasonable.

Change-Id: I7162fbca4e324f62887f95df3405205cbe4416ca
2018-09-03 16:06:06 +01:00
TreeHugger Robot
49fa609ba0 Merge changes from topic "biometric-prompt-service"
* changes:
  Add BiometricPromptService
  Remove common biometric directory
2018-08-31 01:21:07 +00:00