From c84d1ab11a5b9d0dc81b673e382e804cc70f35a4 Mon Sep 17 00:00:00 2001 From: Todd Kennedy Date: Fri, 11 Mar 2016 11:37:17 -0800 Subject: [PATCH] Allow app downgrades only system apps can do this Change-Id: If0947f13f5c447f9396690bfda3ad40b07fbbb6b --- api/system-current.txt | 1 + core/java/android/content/pm/PackageInstaller.java | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/api/system-current.txt b/api/system-current.txt index 8e5b99c4bad5a..cb0c60fb0b2ee 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -9929,6 +9929,7 @@ package android.content.pm { 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 ec536e020d042..684a7d86ba5ed 100644 --- a/core/java/android/content/pm/PackageInstaller.java +++ b/core/java/android/content/pm/PackageInstaller.java @@ -1051,6 +1051,12 @@ public class PackageInstaller { installFlags &= ~PackageManager.INSTALL_EXTERNAL; } + /** {@hide} */ + @SystemApi + public void setInstallFlagsDowngrade() { + installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE; + } + /** {@hide} */ public void setInstallFlagsExternal() { installFlags |= PackageManager.INSTALL_EXTERNAL;