Handling removing <original-package> tag

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
Merged-In: I198ca545f4fea3ae9d2328a845cbd9167eedf8da
This commit is contained in:
Patrick Baumann
2020-10-08 11:24:42 -07:00
parent dd27d93ad6
commit 015cb11e24
2 changed files with 8 additions and 0 deletions

View File

@@ -3649,6 +3649,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");
}
/**
@@ -11096,6 +11098,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

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