Skip to content
Commit b56228e0 authored by Anthony Hugh's avatar Anthony Hugh
Browse files

Update PermissionManagerService to handle pre-created users

Pre-created users are not being returned by the call to
UserManagerService.getUserIds(). This is causing PermissionManager to
ignore recording pre-grants when a new pre-created user is created.

This CL fixes the issue by using a user ID set that contians pre-created
users.  Presumably the call to getUserIds() was previously done for
performance reasons.  I have added some system tracing to see if
performance is a bottle neck here with the new API call.

I ran the test 5 times on an automotive emulator:
[1] Start system trace
[2] adb shell pm -create-user --pre-create-only
[3] Stop system trace

Average time to getUsers() before changes: .389ms
Average time to getUsers() after changes: 1.82ms

Given that this is an infrequent operation and less than 5ms change,
performance hit looks negligible.

Bug: b/160901158
Test: Manually. Run `adb shell pm -create-user --pre-create-only`.
Create a new user and check to see that Assistant has pre-granted
permissions via `adb shell dumpsys package
com.google.android.carassistant`

Change-Id: I52caeb3a71e560d09fcbc167b46becebf779fc3a
Merged-In: I52caeb3a71e560d09fcbc167b46becebf779fc3a
(cherry picked from commit 432a0377250246632927252c9d2b92411717be52)
parent b0c1ac5b
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment