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
This commit is contained in:
Patrick Baumann
2021-03-18 13:32:21 -07:00
parent 92c80af471
commit 552bf38f66
3 changed files with 19 additions and 2 deletions

View File

@@ -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) {

View File

@@ -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
*

View File

@@ -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);
}