From 92c80af4714e8c627d88545e17ebec2cce3b6081 Mon Sep 17 00:00:00 2001 From: Patrick Baumann Date: Thu, 18 Mar 2021 13:32:00 -0700 Subject: [PATCH 1/2] RESTRICT AUTOMERGE Revert "Handling removing tag" This reverts commit 27c28b94283b491c58d5981fc580cd89e5c251c5. Change-Id: Ic11952e0ebc913ee453aa47e559b0fd0232816db Bug: 169414761 --- .../java/com/android/server/pm/PackageManagerService.java | 2 -- services/core/java/com/android/server/pm/Settings.java | 4 ---- 2 files changed, 6 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 6d2ea3c73d3ae..15a41edca8a3f 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -11139,8 +11139,6 @@ public class PackageManagerService extends IPackageManager.Stub mSettings.addRenamedPackageLPw(parsedPackage.getRealPackage(), originalPkgSetting.name); mTransferredPackages.add(originalPkgSetting.name); - } else { - mSettings.removeRenamedPackageLPw(parsedPackage.getPackageName()); } } if (pkgSetting.sharedUser != null) { diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index a7164f94f66b7..aeea2514d0a49 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -476,10 +476,6 @@ public final class Settings { return mRenamedPackages.put(pkgName, origPkgName); } - void removeRenamedPackageLPw(String pkgName) { - mRenamedPackages.remove(pkgName); - } - public boolean canPropagatePermissionToInstantApp(String permName) { return mPermissions.canPropagatePermissionToInstantApp(permName); } From 552bf38f661110414eb883cb8efbfb52a52fa19b Mon Sep 17 00:00:00 2001 From: Patrick Baumann Date: Thu, 18 Mar 2021 13:32:21 -0700 Subject: [PATCH 2/2] RESTRICT AUTOMERGE Handling removing tag This reverts commit I7b9d3c786d653a9b00a553e89d7390bcef45c0f2. Fixes: 169414761 Test: Manual Test: Add package A Test: Verify package A exists Test: Remove A, add package B w/ original-package A Test: Verify package A exists, but codepath is to package B Test: Replace package B w/o original-package A Test: Verify package A removed and package B added This reverts commit dd13be00dc5654e98ddcb206dc15fc4e07829526. Change-Id: I5d66c2b2649bd4d19b5318ea6bbcd31cb6d405fc --- .../android/server/pm/PackageManagerService.java | 4 ++-- .../server/pm/PackageManagerShellCommand.java | 13 +++++++++++++ .../core/java/com/android/server/pm/Settings.java | 4 ++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 15a41edca8a3f..c643307c5f51e 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -3658,8 +3658,6 @@ public class PackageManagerService extends IPackageManager.Stub PackageParser.readConfigUseRoundIcon(mContext.getResources()); mServiceStartWithDelay = SystemClock.uptimeMillis() + (60 * 1000L); - - Slog.i(TAG, "Fix for b/169414761 is applied"); } /** @@ -11139,6 +11137,8 @@ public class PackageManagerService extends IPackageManager.Stub mSettings.addRenamedPackageLPw(parsedPackage.getRealPackage(), originalPkgSetting.name); mTransferredPackages.add(originalPkgSetting.name); + } else { + mSettings.removeRenamedPackageLPw(parsedPackage.getPackageName()); } } if (pkgSetting.sharedUser != null) { diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java index 7b4e4d94baa2e..8ab2b35c6cee9 100644 --- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java +++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java @@ -168,6 +168,8 @@ class PackageManagerShellCommand extends ShellCommand { switch (cmd) { case "path": return runPath(); + case "validate": + return runValidate(); case "dump": return runDump(); case "list": @@ -322,6 +324,17 @@ class PackageManagerShellCommand extends ShellCommand { return -1; } + private int runValidate() { + final PrintWriter pw = getOutPrintWriter(); + String identifier = getNextArgRequired(); + if ("169414761".equals(identifier)) { + pw.println("applied"); + } else { + pw.println("missing"); + } + return 0; + } + /** * Shows module info * diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index aeea2514d0a49..a7164f94f66b7 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -476,6 +476,10 @@ public final class Settings { return mRenamedPackages.put(pkgName, origPkgName); } + void removeRenamedPackageLPw(String pkgName) { + mRenamedPackages.remove(pkgName); + } + public boolean canPropagatePermissionToInstantApp(String permName) { return mPermissions.canPropagatePermissionToInstantApp(permName); }