summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Patrick Baumann <patb@google.com> 2021-03-18 13:32:21 -0700
committer Patrick Baumann <patb@google.com> 2021-03-19 23:20:11 +0000
commit552bf38f661110414eb883cb8efbfb52a52fa19b (patch)
treeee24245ca1f236a21f10eb61687d15d34f824386
parent92c80af4714e8c627d88545e17ebec2cce3b6081 (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
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java4
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerShellCommand.java13
-rw-r--r--services/core/java/com/android/server/pm/Settings.java4
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);
}