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

Commit 041ce950 authored by Mohammad Samiul Islam's avatar Mohammad Samiul Islam
Browse files

Remove more redundant code

* Checking for apex sessions in makeSessionActiveLocked is redundant
cause we already ensure in handleInstall() that no apex session manages
to move forward.
* The package name never gets used by the observer in handleReturnCode.
This is the same observer that we created in makeSessionActiveLocked,
which disregards the sent package name. We only care about the return
code.
* mRet is assigned but never used in MultiPackageInstallParams

Bug: 136257624
Test: atest GtsSecurityHostTestCases
Test: atest StagedInstallTest
Change-Id: I28db925d174959914b513479f0747ce4d7f6fc0b
parent 8e61636e
Loading
Loading
Loading
Loading
+81 −86
Original line number Diff line number Diff line
@@ -1774,10 +1774,6 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
            throw new PackageManagerException(INSTALL_FAILED_INTERNAL_ERROR, "Session not sealed");
        }

        final IPackageInstallObserver2 localObserver;
        if (isApexInstallation()) {
            localObserver = null;
        } else {
        if (!params.isMultiPackage) {
            Objects.requireNonNull(mPackageName);
            Objects.requireNonNull(mSigningDetails);
@@ -1858,7 +1854,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {

        // We've reached point of no return; call into PMS to install the stage.
        // Regardless of success or failure we always destroy session.
            localObserver = new IPackageInstallObserver2.Stub() {
        final IPackageInstallObserver2 localObserver = new IPackageInstallObserver2.Stub() {
            @Override
            public void onUserActionRequired(Intent intent) {
                throw new IllegalStateException();
@@ -1871,7 +1867,6 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
                dispatchSessionFinished(returnCode, msg, extras);
            }
        };
        }

        final UserHandle user;
        if ((params.installFlags & PackageManager.INSTALL_ALL_USERS) != 0) {
+1 −29
Original line number Diff line number Diff line
@@ -223,7 +223,6 @@ import android.content.pm.VersionedPackage;
import android.content.pm.dex.ArtManager;
import android.content.pm.dex.DexMetadataHelper;
import android.content.pm.dex.IArtManager;
import android.content.pm.parsing.ApkLiteParseUtils;
import android.content.pm.parsing.ParsingPackageUtils;
import android.content.pm.parsing.component.ParsedActivity;
import android.content.pm.parsing.component.ParsedInstrumentation;
@@ -233,8 +232,6 @@ import android.content.pm.parsing.component.ParsedPermission;
import android.content.pm.parsing.component.ParsedProcess;
import android.content.pm.parsing.component.ParsedProvider;
import android.content.pm.parsing.component.ParsedService;
import android.content.pm.parsing.result.ParseResult;
import android.content.pm.parsing.result.ParseTypeImpl;
import android.content.res.Resources;
import android.database.ContentObserver;
import android.graphics.Bitmap;
@@ -14579,8 +14576,6 @@ public class PackageManagerService extends IPackageManager.Stub
     * committed together.
     */
    class MultiPackageInstallParams extends HandlerParams {
        private int mRet = INSTALL_SUCCEEDED;
        @NonNull
        private final ArrayList<InstallParams> mChildParams;
        @NonNull
@@ -14607,9 +14602,6 @@ public class PackageManagerService extends IPackageManager.Stub
        void handleStartCopy() {
            for (InstallParams params : mChildParams) {
                params.handleStartCopy();
                if (params.mRet != INSTALL_SUCCEEDED) {
                    mRet = params.mRet;
                }
            }
        }
@@ -14617,9 +14609,6 @@ public class PackageManagerService extends IPackageManager.Stub
        void handleReturnCode() {
            for (InstallParams params : mChildParams) {
                params.handleReturnCode();
                if (params.mRet != INSTALL_SUCCEEDED) {
                    mRet = params.mRet;
                }
            }
        }
@@ -15276,25 +15265,8 @@ public class PackageManagerService extends IPackageManager.Stub
            }
            if ((installFlags & PackageManager.INSTALL_DRY_RUN) != 0) {
                String packageName = "";
                ParseResult<PackageLite> result = ApkLiteParseUtils.parsePackageLite(
                        new ParseTypeImpl(
                                (changeId, packageName1, targetSdkVersion) -> {
                                    ApplicationInfo appInfo = new ApplicationInfo();
                                    appInfo.packageName = packageName1;
                                    appInfo.targetSdkVersion = targetSdkVersion;
                                    return mPackageParserCallback.isChangeEnabled(changeId,
                                            appInfo);
                                }).reset(),
                        origin.file, 0);
                if (result.isError()) {
                    Slog.e(TAG, "Can't parse package at " + origin.file.getAbsolutePath(),
                            result.getException());
                } else {
                    packageName = result.getResult().packageName;
                }
                try {
                    observer.onPackageInstalled(packageName, mRet, "Dry run", new Bundle());
                    observer.onPackageInstalled(null, mRet, "Dry run", new Bundle());
                } catch (RemoteException e) {
                    Slog.i(TAG, "Observer no longer exists.");
                }