Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 1cd2eb67 authored by Hai Zhang's avatar Hai Zhang
Browse files

Refactor updatePermissions() into onPackageInstalled().

1. For the case where a dangling system PackageSetting is left without
a (disabled) factory package, the previous logic was to remove its data
directory before ag/920260, which deferred the removal into
reconcileAppsDataLI(). However, there are more package related states
that should be cleaned up apart from the data directory, hence
ag/7278993 added a call to removePackageDataLIF() for the similar case
when handling dangling updated system apps. Meanwhile, ag/11872632 was
later submitted to remove the permission state for this case of
factory packages, but still, it seems more consistent to also call
removePackageDataLIF() for consistency and better cleanup.

2. For enableCompressedPackage() and installPackageFromSystemLIF(),
they are simply changed from calling updatePermissions() to call
onPackageInstalled() with no additional permission granting.

3. onPackageInstalled() is changed to call updatePermissions() as the
first thing, and updatePermissions() is removed from the internal API.

4. The call to updatePermissions() is removed from
updateSettingsInternalLI(), because the only call path into it goes
back to processInstallRequestsAsync(), which will always call
restoreAndPostInstall() which goes into handlePackagePostInstall() and
call onPackageInstalled() there. Packages needs to go through
handlePackagePostInstall() to get their permission allowlisted/granted
anyway so not calling updatePermissions() again earlier shouldn't be a
problem.

Bug: 158736025
Test: presubmit
Test: manual
Test: adb remount and push an APK to /system/priv-app
Test: adb reboot and verify package is system package
Test: flash a build with this change so that system partition is reset
      and app is gone
Test: onPackageInstalled() logged stacktrace for being called and
      package setting is removed.
Change-Id: Id68428b3aca18c0badee58d1a57663510db438e9
parent ea789fd6
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment