diff options
| author | 2021-03-18 13:32:21 -0700 | |
|---|---|---|
| committer | 2021-03-19 23:20:11 +0000 | |
| commit | 552bf38f661110414eb883cb8efbfb52a52fa19b (patch) | |
| tree | ee24245ca1f236a21f10eb61687d15d34f824386 | |
| parent | 92c80af4714e8c627d88545e17ebec2cce3b6081 (diff) | |
RESTRICT AUTOMERGE Handling removing <original-package> 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
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 15a41edca8a3..c643307c5f51 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 7b4e4d94baa2..8ab2b35c6cee 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 aeea2514d0a4..a7164f94f66b 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); } |