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

Commit 064a3d64 authored by William Loh's avatar William Loh Committed by Android (Google) Code Review
Browse files

Merge "Set initiatingPackageName to shell for ABD install"

parents f225f1e0 489d4b0e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -95,8 +95,8 @@ public final class InstallSourceInfo implements Parcelable {
     * remains unchanged. It continues to identify the actual package that performed the install
     * or update.
     * <p>
     * Null may be returned if the app was not installed by a package (e.g. a system app or an app
     * installed via adb) or if the initiating package has itself been uninstalled.
     * Null may be returned if the app was not installed by a package (e.g. a system app) or if the
     * initiating package has itself been uninstalled.
     */
    @Nullable
    public String getInitiatingPackageName() {
+2 −1
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ import com.android.server.LocalServices;
import com.android.server.integrity.engine.RuleEvaluationEngine;
import com.android.server.integrity.model.IntegrityCheckResult;
import com.android.server.integrity.model.RuleMetadata;
import com.android.server.pm.PackageManagerServiceUtils;
import com.android.server.pm.parsing.PackageParser2;
import com.android.server.pm.pkg.parsing.ParsingPackageUtils;

@@ -383,7 +384,7 @@ public class AppIntegrityManagerServiceImpl extends IAppIntegrityManager.Stub {
    private String getInstallerPackageName(Intent intent) {
        String installer =
                intent.getStringExtra(PackageManager.EXTRA_VERIFICATION_INSTALLER_PACKAGE);
        if (installer == null) {
        if (PackageManagerServiceUtils.isInstalledByAdb(installer)) {
            return ADB_INSTALLER;
        }
        int installerUid = intent.getIntExtra(PackageManager.EXTRA_VERIFICATION_INSTALLER_UID, -1);
+1 −2
Original line number Diff line number Diff line
@@ -47,7 +47,6 @@ import android.os.RemoteException;
import android.os.SystemClock;
import android.os.incremental.IncrementalManager;
import android.os.incremental.IncrementalStorage;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.Pair;
@@ -424,7 +423,7 @@ public class ApkChecksums {
            @Nullable Certificate[] trustedInstallers,
            Map<Integer, ApkChecksum> checksums,
            @NonNull Injector injector) {
        if (TextUtils.isEmpty(installerPackageName)) {
        if (PackageManagerServiceUtils.isInstalledByAdb(installerPackageName)) {
            return;
        }
        if (trustedInstallers != null && trustedInstallers.length == 0) {
+1 −1
Original line number Diff line number Diff line
@@ -248,7 +248,7 @@ public class BackgroundInstallControlService extends SystemService {
    // ADB sets installerPackageName to null, this creates a loophole to bypass BIC which will be
    // addressed with b/265203007
    private boolean installedByAdb(String initiatingPackageName) {
        return initiatingPackageName == null;
        return PackageManagerServiceUtils.isInstalledByAdb(initiatingPackageName);
    }

    private boolean wasForegroundInstallation(String installerPackageName,
+2 −1
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ import static com.android.server.pm.PackageManagerServiceUtils.comparePackageSig
import static com.android.server.pm.PackageManagerServiceUtils.compareSignatures;
import static com.android.server.pm.PackageManagerServiceUtils.compressedFileExists;
import static com.android.server.pm.PackageManagerServiceUtils.deriveAbiOverride;
import static com.android.server.pm.PackageManagerServiceUtils.isInstalledByAdb;
import static com.android.server.pm.PackageManagerServiceUtils.logCriticalInfo;
import static com.android.server.pm.PackageManagerServiceUtils.makeDirRecursive;
import static com.android.server.pm.SharedUidMigration.BEST_EFFORT;
@@ -333,7 +334,7 @@ final class InstallPackageHelper {
        if (installSource != null) {
            // If this is part of a standard install, set the initiating package name, else rely on
            // previous device state.
            if (installSource.mInitiatingPackageName != null) {
            if (!isInstalledByAdb(installSource.mInitiatingPackageName)) {
                final PackageSetting ips = mPm.mSettings.getPackageLPr(
                        installSource.mInitiatingPackageName);
                if (ips != null) {
Loading