Commit Graph

975 Commits

Author SHA1 Message Date
Chad Brubaker
90f391fe87 Prototype Spaceship mode qstile
Initial prototype disabling location/sensors and enabling airplane mode.
Camera/Mic will come in a followup.

Test: manual
Bug: 110842805
Change-Id: I26132fcc9ffea83e3e78a0e54882d23c99ee590c
2018-12-14 20:46:04 +00:00
Alan Stokes
be9ec976c5 Separate job service for dynamic code logging.
Decouple logging of dynamic code loading from background DEX
optimisation/reconciliation (BackgroundDexOptService).

Add DynamicCodeLoggingService to run DCL logging daily while idle and
charging.

Update DexLoggerIntegrationTests to use the new job, and to verify
that we now handle unknown class loaders.

Bug: 111336847
Test: atest -p services/core/java/com/android/server/pm/dex
Change-Id: Id688a7eef5976120be12606e726830ce32451a1e
2018-12-13 10:30:02 +00:00
Christine Franks
6230c94e4c Merge "ColorDisplayService should always be started" 2018-12-10 21:01:25 +00:00
Christine Franks
17a9bc82b4 ColorDisplayService should always be started
Even if no color transforms are available, for requesting whether
color modes or configurations are available.

Bug: 111215474
Test: atest FrameworksServicesTest:ColorDisplayServiceTest

Change-Id: I10a4b3b1214920117312e752ba5ea0033ff70293
2018-12-10 10:21:25 -08:00
Felipe Leme
132b1c6002 Merge "Yet another (major) refactoring on Content Capture and Augmented Autofill." 2018-12-07 04:18:44 +00:00
Kenny Root
b24545385b Merge "SystemServer: initialize ADB before USB" 2018-12-07 03:36:20 +00: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
Yunfan Chen
f963216094 Merge "Use WindowProcessController configuration for process" 2018-12-05 21:12:18 +00:00
TreeHugger Robot
0492440cd9 Merge "Changed how the Smart Suggestions service is defined." 2018-12-05 16:15:50 +00:00
Mathew Inwood
9f7fcda6c4 Merge "New receiver for signed config." 2018-12-05 12:46:12 +00:00
Mathew Inwood
4e2ed6a90b New receiver for signed config.
A new receiver is added when the system server is created. It receives
broadcasts and pulls out the config & signature, but doesn't yet do
anything with it.

go/serverless-config-design
Test: Manual
Bug: 110509075

Change-Id: Ie369e198de5e830253b17e964afb67c76735909c
2018-12-05 11:00:26 +00:00
Yunfan Chen
c2ff6cf1c5 Use WindowProcessController configuration for process
This patch is to replace the process configuration map in
WindowManagerService with the map in ActivityTaskManagerService. To do
so, we pass the ActivityTaskManagerService instance to
WindowManaserService. Adjust test base accordingly.

Test: WmTests
Test: go/wm-smoke
Bug: 117877476
Bug: 113253755
Change-Id: Ica93c3ad402e1cab682466fd16a8226176f9bae8
2018-12-04 23:00:05 -08:00
Kenny Root
4673a1d1e4 SystemServer: initialize ADB before USB
USB depends on ADB to hold the state for ADB debugging enabled, so move it
to initialize before USB attempts to initialize. This removes a race
condition introduced by moving the source of truth for ADB debugging enabled
to the AdbService instead of UsbService.

Bug: 119765805
Test: boot emulator several times
Change-Id: Ib1f5ae0ceab5abe64e2d14b9e2b3a55c9919ad2f
2018-12-05 12:20:02 +09:00
Felipe Leme
658c8e423f Changed how the Smart Suggestions service is defined.
Initially it was defined as secure Settings, but the proper way is to let the
OEMs set it by overlaying a framework resources, which an option to temporarily
override that setting using a Shell cmd (so it can be changed on CTS tests).

This CL also changes how the service can be explicitly enabled / disabled at
the time the system starts, so it can be disabled by a server-push in case of
emergencies (and also manually enable by developers when running the CTS tests
on AOSP builds).

Bug: 119776618
Bug: 111276913
Bug: 117779333

Test: adb shell settings put global \
   smart_suggestions_service_explicitly_enabled true && \
   sleep 10s && \ adb shell stop && adb shell start \
   atest CtsContentCaptureServiceTestCases
Test: atest FrameworksCoreTests:SettingsBackupTest
Test: atest CtsAutoFillServiceTestCases # to make sure it didn't break
Test: m -j SettingsProvider

Change-Id: Ibd1bba0c0d534b4b6344516d8ff893142785a57a
2018-12-04 17:46:49 -08:00
TreeHugger Robot
6220baa36e Merge "Schematize vold system properties" 2018-12-05 00:00:42 +00:00
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
Inseob Kim
c1246e6c36 Schematize vold system properties
Properties accessed across partitions are now schematized and will
become APIs to make explicit interfaces among partitions.

Bug: 117924132
Test: m -j
Change-Id: I8e04f643197b6c8a60cc38c6979e41c5de3469f5
(cherry picked from commit 0cf5fc1433ef113d33d40b62cfca9ce97de12a4b)
2018-11-08 20:29:13 +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