Move default app related methods to role manager.
Default apps (browser, dialer and home) are by no means a concept of permission, so they should not be exposed as permission manager API. Instead, they should be accessed via role manager API. This change moves getDefaultBrowser() and setDefaultBrowser()'s AIDL interface and implementation into RoleManagerService. Package manager has a number of special behaviors regarding these default apps, so we can not pretend that package manager doesn't know about these roles. After all, we can say permission and role are at the same level in the system after recent refactoring that split permission and package. So package manager is reusing the public role API now. The new methods moved to RoleManagerService needs to be system APIs on RoleManager, because IRoleManager cannot be a system API and we need to delegate method calls to it from ApplicationPackageManager. The other methods directly calling into DefaultPermissionGrantPolicy should be moved/refactored as well, depending on whether we want to mainline it, in a later change. Bug: 158736025 Test: presubmit Change-Id: I84b9519a084e410875a3c3e88b33e9a612e7de98
Loading
Please register or sign in to comment