summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/SystemServer.java
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | Merge changes from topic "revert-to-single-threaded-oms-init"TreeHugger Robot2018-11-261-10/+1
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | * changes: Decouple the display manager from the overlay manager Revert: "Init of OverlayManagerService on a parallel thread"
| * | | | | | Decouple the display manager from the overlay managerMårten Kongstad2018-11-151-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | Temporarily disabled IntelligenceService.Felipe Leme2018-11-161-1/+6
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Merge "Allow Intelligence Service app to obtain Clipboard permission."Felipe Leme2018-11-151-6/+7
|\ \ \ \ \ \
| * | | | | | Allow Intelligence Service app to obtain Clipboard permission.Felipe Leme2018-11-141-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test: manual verification Bug: 111276913 Fixes: 119440304 Change-Id: I8dc97e4517367eaf8736741ce04040efaeb84355
* | | | | | | Merge "Add ColorDisplayManager"TreeHugger Robot2018-11-151-55/+77
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | Add ColorDisplayManagerChristine Franks2018-11-061-55/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add ColorDisplayManager class, and shift some functionality from ColorDisplayController Bug: 111215474 Test: atest FrameworksServicesTest:ColorDisplayServiceTest Change-Id: Ic38a12e1e0b0619fdad42a89b7ac3e878c8128b2
* | | | | | | Merge "Add RoleManagerService as a boot phase"Eugene Susla2018-11-131-0/+6
|\ \ \ \ \ \ \
| * | | | | | | Add RoleManagerService as a boot phaseEugene Susla2018-11-121-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For now it just reads the xml config file on boot Test: adb logcat | grep -n20 Role # during boot Change-Id: Iad907fe9bf52f5ed15066484aec60b3a9f51568a
* | | | | | | | Introduce multi-client IME for special form factorsYohei Yukawa2018-11-121-1/+7
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | Merge "SystemServer: Support deviceSpecificAudioService for ARC"TreeHugger Robot2018-11-121-1/+14
|\ \ \ \ \ \ \
| * | | | | | | SystemServer: Support deviceSpecificAudioService for ARCpaulhsia2018-11-081-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Load device specific audio service for needed devices. Bug: 119241152 Test: Apply full topic to test Arc audio functionality Change-Id: Ibc1a7844faf5a6e54acc3342cf603023ada74b92
* | | | | | | | Merge "Return correct error when HW there is no biometric hardware"Kevin Chyn2018-11-091-1/+1
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | |
| * | | | | | | Return correct error when HW there is no biometric hardwareKevin Chyn2018-11-061-1/+1
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | Merge "Unify Activities and Windows under one lock (38/n)"Wale Ogunwale2018-11-081-1/+4
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | |
| * | | | | | Unify Activities and Windows under one lock (38/n)Wale Ogunwale2018-11-071-1/+4
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* / / / / / Add thermal service into system_serverWei Wang2018-11-071-0/+5
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Initial implementation of the IntelligenceService pipeline.Felipe Leme2018-11-061-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge "Add placeholders for IrisManager/Service"Kevin Chyn2018-11-061-1/+10
|\ \ \ \ \
| * | | | | Add placeholders for IrisManager/ServiceKevin Chyn2018-11-051-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the system services in place, we can add SELinux policies Bug: 116530289 Test: Builds Change-Id: I0fd0dfbbbf258eb4a0ef9019247baaf323578959
* | | | | | Moved Activity management out of ActivityManager to WindowManager (37/n)Wale Ogunwale2018-11-031-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Add empty AdbService to SystemServerKenny Root2018-10-311-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create skeleton service to migrate functions from UsbService in later change. Bug: 63820489 Test: make Change-Id: I07672fe87cfae188fe77c173fc49119e182c6b05
* | | | | Merge "Frameworks: Add VMRuntime.hasBootImageSpaces check" am: 9135811848 ↵Andreas Gampe2018-10-111-0/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: b9da5284fc am: 7bd2e0ce26 Change-Id: I1925a99d5f8128caded1c2f11956e3df7d4a9e08
| * | | | Merge "Frameworks: Add VMRuntime.hasBootImageSpaces check" am: 9135811848Andreas Gampe2018-10-111-0/+6
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | am: b9da5284fc Change-Id: Ib02426fb94ab9fc4b448ebb5f4d928ec2cb7afbf
| | * | | Frameworks: Add VMRuntime.hasBootImageSpaces checkAndreas Gampe2018-10-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Log a wtf in the system server when the runtime does not use a boot image. Test: m Test: system boots Change-Id: I087c269dd1e95eeeab5db4250133f9c61e9399c7
| | * | | Default to FULL synchronous mode for sqlite DBs in system serverMakoto Onuki2018-08-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test: change pin and immediately crash the kernel with adb shell 'su root sh -c "echo c >/proc/sysrq-trigger"' and boot Bug: 112175067 Change-Id: Ia5f43f3118e2297fbea43c805ef2f4577bf8a9bf (cherry picked from commit 50e00c8dc48849280410e38bb05a1f11ce24ef01) Merged-in: Ia5f43f3118e2297fbea43c805ef2f4577bf8a9bf
| * | | | Merge "Do not start VrManagerService if VR is not supported" into pi-devRick Yiu2018-10-101-1/+4
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | | | | | | | | | | | am: 2667c1dfa2 Change-Id: I76eb570e1c08ee57d931221169b503033e466d49
| | * | | Do not start VrManagerService if VR is not supportedRick Yiu2018-09-241-1/+4
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Do not allow to revert setForceSafeLabelPhilip P. Moltmann2018-10-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Test: Built Bug: 116798569 Change-Id: I3f26d4466c84d3decb1c4962fb45e900ba35f68e
* | | | Add API surface for "keep SMS app running".Makoto Onuki2018-09-261-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 109809543 Test: build & boot Change-Id: Ie9ebf1f34052394a92c3f260413c18596709d3a3
* | | | 2/n: Rename BiometricPromptService to BiometricServiceKevin Chyn2018-09-201-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is in preparation for BiometricManager. Each Manager should have its own Service. Bug: 112570477 Test: BiometricPromptDemo works Change-Id: Ibbbd499a0fd5a2050b329ee038776c6c9f49cdb2
* | | | Merge "Move TextServicesManagerService to com.android.server.textservices"TreeHugger Robot2018-09-151-0/+1
|\ \ \ \
| * | | | Move TextServicesManagerService to com.android.server.textservicesYohei Yukawa2018-09-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge "Revert "Revert "Do not start VrManagerService if VR is not supported"""TreeHugger Robot2018-09-141-1/+4
|\ \ \ \ \
| * | | | | Revert "Revert "Do not start VrManagerService if VR is not supported""Rick Yiu2018-09-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f5d99fa7d93f82701c188c4048f0c2a5af122fae. Bug: 112064298 Change-Id: Ib2b595f8f98a577af205d5169af28a185ef00f03
* | | | | | Add disableNetworkTime config propertySteve Paik2018-09-131-1/+3
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Move InputMethodManagerService to com.android.server.inputmethodYohei Yukawa2018-09-111-0/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Revert "Do not start VrManagerService if VR is not supported"Adrian Roos2018-09-101-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit af1eda2654cad6aecfbd8fcc02075c01c505c737. Bug: 112064298 Change-Id: Ie7912c055e8e27250b0404e337813c0ee670b1de
* | | | Do not start VrManagerService if VR is not supportedRick Yiu2018-09-081-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge "Injecting system calls into alarm manager"TreeHugger Robot2018-09-071-1/+2
|\ \ \ \
| * | | | Injecting system calls into alarm managerSuprabh Shukla2018-09-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Extract CachedDeviceState from BinderCallsStatsMarcin Oczeretko2018-09-061-0/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Collect telemetry data for System Server Loopers.Marcin Oczeretko2018-09-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge changes from topic "biometric-prompt-service"TreeHugger Robot2018-08-311-2/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | * changes: Add BiometricPromptService Remove common biometric directory
| * | | | Add BiometricPromptServiceKevin Chyn2018-08-301-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change introduces the following: - BiometricPrompt communicatates with BiometricPromptService (new) system service. The service does the decision making for which biometric modality to use. - As a result, a lot of logic is moved from <Biometric>Manager to BiometricPrompt. FingerprintManager now does not care about BiometricPrompt logic anymore (reverts several P changes). Face, and all future <Biometric>Service interfaces must be protected by the signature-only MANAGE_BIOMETRIC permission. Settings, SystemUI, and BiometricPromptService are their only clients. Bug: 72825012 Test: BiometricPromptDemo works Test: Keyguard works Test: Settings works Change-Id: I2b7d6eff81bc07950202c50e592d733032523bf0
* | | | | Hide IInputMethodManager.{add,remove}Client() from appsYohei Yukawa2018-08-281-3/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since IInputMethodManager.{add,remove}Client() are just callbacks from WindowManagerService to InputMethodManagerService, we can simply move those two methods to InputMethodManagerInternal instead of having them in IInputMethodManager.aidl, which ends up exposing those methods to any random user process. This enables us to clean up WindowManagerService because it is no longer responsible for obtaining IInputMethodManager and passing it to each Session instance. This also allows us to get rid of several RemoteException handlers from Session class, because now the complier knows that those callbacks will never throw RemoteException. Fix: 112670859 Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases Test: prebuilts/checkstyle/checkstyle.py -f frameworks/base/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java Change-Id: I453200fd5847e9a78876affb6a1caec221525e1d
* | | | Merge "BootAnimation: Fix boot animation with hidden cutout" into pi-dev am: ↵Jorim Jaggi2018-08-221-1/+10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e387ce18d8 am: 2c68abc9fc Change-Id: I1a0db9f30f7270d49136fa3984dc8d9633ead690
| * | | Merge "BootAnimation: Fix boot animation with hidden cutout" into pi-devJorim Jaggi2018-08-221-1/+10
| |\| | | | | | | | | | | | | | | | | | | | | | am: e387ce18d8 Change-Id: I55c32ef69c4bb565376946ce65101f37ef0cce8a
| | * | BootAnimation: Fix boot animation with hidden cutoutAdrian Roos2018-08-221-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We do this by storing the masking inset in a persistent property. The boot animation then animates itself to where it would be if that masking inset were applied, then changes the viewport. For this to work, we also need to make sure the DisplayManagerService has the right overlay right at the start. Bug: 112876936 Test: Hide cutout, then reboot. Verify boot animation is smooth. Change-Id: I3e988b2340b2e0d2be3939bdc6878704c234ccc8
| * | | Merge "Default to FULL synchronous mode for sqlite DBs in system server" ↵Makoto Onuki2018-08-171-0/+5
| |\| | | | |/ | |/| | | | | | | | | | | | | | | | into pi-dev am: 30fdcbad94 Change-Id: I0f4b5f91cf0a877bc518b555abb8380487c68d31