Need to keep new package's cert when using original-package.
Fixes bug #2504353: Lost all widgets and shortcuts after upgrading form FRE68 to FRE69
Change-Id: I62bab66bbd90bf0956d1716bae1b6073d01e2d8a
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 63afabc..ed8e22b 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -7707,7 +7707,11 @@
resourcePath, vc, pkgFlags);
if (DEBUG_UPGRADE) Log.v(TAG, "Package " + name
+ " is adopting original package " + origPackage.name);
+ // Note that we will retain the new package's signature so
+ // that we can keep its data.
+ PackageSignatures s = p.signatures;
p.copyFrom(origPackage);
+ p.signatures = s;
p.sharedUser = origPackage.sharedUser;
p.userId = origPackage.userId;
p.origPackage = origPackage;