Allow app downgrades
only system apps can do this
Change-Id: If0947f13f5c447f9396690bfda3ad40b07fbbb6b
diff --git a/api/system-current.txt b/api/system-current.txt
index 8e5b99c..cb0c60f 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -9929,6 +9929,7 @@
method public void setAppLabel(java.lang.CharSequence);
method public void setAppPackageName(java.lang.String);
method public void setGrantedRuntimePermissions(java.lang.String[]);
+ method public void setInstallFlagsDowngrade();
method public void setInstallLocation(int);
method public void setOriginatingUid(int);
method public void setOriginatingUri(android.net.Uri);
diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java
index ec536e0..684a7d8 100644
--- a/core/java/android/content/pm/PackageInstaller.java
+++ b/core/java/android/content/pm/PackageInstaller.java
@@ -1052,6 +1052,12 @@
}
/** {@hide} */
+ @SystemApi
+ public void setInstallFlagsDowngrade() {
+ installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE;
+ }
+
+ /** {@hide} */
public void setInstallFlagsExternal() {
installFlags |= PackageManager.INSTALL_EXTERNAL;
installFlags &= ~PackageManager.INSTALL_INTERNAL;