Pass in split permissions to ParsingPackageUtils.
Similar to passing in display metrics. We can use ActivityThread.currentApplication() as the context for getting PermissionManager in system server process because it will be created early in ActivityThread.attach() before any custom logic can run, but it becomes a problem for apps because they can run their own logic by overriding Application.attachBaseContext() and do things there before ActivityThread.currentApplication() becomes non-null. So pass in the split permissions explicitly as an external dependency for ParsingPackageUtils, and move the getPackageArchiveInfo() implementation from PackageManager to ApplicationPackageManager to utilize the context there. PackageParser2 can get the split permissions internally because it's only used in system server. Fixes: 178155985 Test: manual Change-Id: I8213cf752e16b08328ad1150b2639da18c5d0e83
Loading
Please register or sign in to comment