514074fae8
Rework how the shell user is defined so that it is associated with an actual apk, instead of being a free roaming uid with special permissions assigned to it. This allows us to correctly account for its operations in app ops. Implement a special case for the root user in app ops -- it is always allowed, always with the package name "root". Add various code to take care of cleaning up package state from app ops -- when packages are uninstalled, and during boot if any packages currently being stored no longer exist. Also fix a bug in the activity manager to correctly grant permissions in all cases when onNewIntent() is being called. Change-Id: Iae9f6d793ee48b93518c984ad957e46ae4582581