OSDN Git Service

Add multiuserDelayUserDataLocking configuration
authorKeun young Park <keunyoung@google.com>
Wed, 13 Mar 2019 21:06:42 +0000 (14:06 -0700)
committerKeun young Park <keunyoung@google.com>
Tue, 2 Apr 2019 22:29:54 +0000 (15:29 -0700)
commitdf54b66b2f281b901b25cacb27c3514eaad42e4f
tree67737bd499e33ca3ab6c35f0fb211b6322f0674d
parent29e5ea6741605fcc7699163a1cf36a3b9a042dd5
Add multiuserDelayUserDataLocking configuration

- In this mode, when user switching happens, old user (=background user) is
  always stopped but the user's data is kept unlocked.
- Locking of user data is postponed until mMaxRunningUsers is reached.
  So this change does not leave more users unlocked while all background users
  , other than user 0, are stopped.
- For users in stopped state with data unlocked, user can be re-started
  in background for usage like running JobScheduler jobs.
- Exceptions to this configuration of stopping / locking background users are:
  User 0 is never stopped / locked.
  Ephemeral user is always stopped / locked.
  User with DISALLOW_RUN_IN_BACKGROUND flag will be always stopped / locked.
- Added tests for this mode vs normal mode.

Bug: 128038498
Test: Do user switch and check user locking / stopping through log.
Change-Id: I554d0744adad172f361e9f00f609e2f91100b9e4
core/res/res/values/config.xml
core/res/res/values/symbols.xml
services/core/java/com/android/server/am/ActivityManagerService.java
services/core/java/com/android/server/am/UserController.java
services/tests/servicestests/src/com/android/server/am/UserControllerTest.java