summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Baumann <patb@google.com>2020-09-30 17:00:13 +0000
committerPatrick Baumann <patb@google.com>2020-09-30 17:16:02 +0000
commit50ee8017ea54bc7c2b977e12147727057274f5d9 (patch)
tree2e70d2cae4329c84da56267bd646a8d16d19ea1a
parent8c7a325225054c22bc687a9b7662513796ec0402 (diff)
downloadbase-50ee8017ea54bc7c2b977e12147727057274f5d9.tar.gz
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 Change-Id: I198ca545f4fea3ae9d2328a845cbd9167eedf8da
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java4
-rw-r--r--services/core/java/com/android/server/pm/Settings.java4
2 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 6246b28a3dd6..f191ef4f82cc 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -3655,6 +3655,8 @@ public class PackageManagerService extends IPackageManager.Stub
PackageParser.readConfigUseRoundIcon(mContext.getResources());
mServiceStartWithDelay = SystemClock.uptimeMillis() + (60 * 1000L);
+
+ Slog.i(TAG, "Fix for b/169414761 is applied");
}
/**
@@ -11115,6 +11117,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/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);
}