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

Commit dda57f37 authored by Essence Cain's avatar Essence Cain
Browse files

- Move isEmergencyInstallerEnabled() to boolean canSilentlyInstallPackage

- Change package name being passed in to the emergency installer of the package that's being uninstalled

Test: m
Bug: 321080601
Change-Id: I7f504a0ecad47c9ff4f472fda1065b35db0304ae
Flag: EXEMPT bugfix
parent 3387119d
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -1423,7 +1423,9 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
        DevicePolicyManagerInternal dpmi =
                LocalServices.getService(DevicePolicyManagerInternal.class);
        final boolean canSilentlyInstallPackage =
                dpmi != null && dpmi.canSilentlyInstallPackage(callerPackageName, callingUid);
                (dpmi != null && dpmi.canSilentlyInstallPackage(callerPackageName, callingUid))
                        || PackageInstallerSession.isEmergencyInstallerEnabled(
                        versionedPackage.getPackageName(), snapshot, userId, callingUid);

        final PackageDeleteObserverAdapter adapter = new PackageDeleteObserverAdapter(mContext,
                statusReceiver, versionedPackage.getPackageName(),
@@ -1445,15 +1447,6 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
                    .createEvent(DevicePolicyEnums.UNINSTALL_PACKAGE)
                    .setAdmin(callerPackageName)
                    .write();
        } else if (PackageInstallerSession.isEmergencyInstallerEnabled(callerPackageName, snapshot,
                userId, callingUid)) {
            // Need to clear the calling identity to get DELETE_PACKAGES permission
            final long ident = Binder.clearCallingIdentity();
            try {
                mPm.deletePackageVersioned(versionedPackage, adapter.getBinder(), userId, flags);
            } finally {
                Binder.restoreCallingIdentity(ident);
            }
        } else {
            ApplicationInfo appInfo = snapshot.getApplicationInfo(callerPackageName, 0, userId);
            if (appInfo.targetSdkVersion >= Build.VERSION_CODES.P) {