The PermissionController is a module that handles permission-related UI, logic, and roles to allow access for apps for specific purposes. It is a component of the Android operating system that controls which privileges apps have. The PermissionController Mainline module contains privacy policies and the UI related to granting and managing permissions. It controls runtime permission granting, runtime permission management, runtime permission usage tracking, and roles. The PermissionController interacts with the framework only via stable @SystemApi, handles permission-related intents with priority > 0, and exposes a mechanism for enabling OEMs to customize theming. It provides services to which the system and applications can bind, including role management, permission revocation, and basic permission information. The PermissionController supports auto-revoke for unused apps, which is new in Android 11.
In summary, the PermissionController is a module in the Android operating system that handles permission-related UI, logic, and roles to allow access for apps for specific purposes. It controls runtime permission granting, runtime permission management, runtime permission usage tracking, and roles. It provides services to which the system and applications can bind, including role management, permission revocation, and basic permission information. The PermissionController supports auto-revoke for unused apps, which is new in Android 11.