Implement persistent permissions for Usb devices
Previously a package could only get automatically granted USB
permission for a given device if it was the default app to launch
when the device is connected. This means only one package can
be granted automatically and it must be started on connection.
This change introduces a new usb permission mechanism which is meant
to separate the auto launch from usb permission so that multiple
packages can have permission without prompting the user.
The temporary usb permissions still work.
Test: edit usb_permissions.xml on device to allow, reboot,
connect usb headphones, deny launch dialog, open test app,
assert usb permission already granted.
Test: Check complement behavior to previous test, assert permission
not granted by default if not in usb_device_manager.xml or
explicitly denied in usb_device_manager.xml.
Bug: 136496922
Change-Id: I005d7470f1e6642d683c953a914f65f16ff7e1bb
7 files changed