Loading api/system-current.txt +4 −2 Original line number Diff line number Diff line Loading @@ -1561,23 +1561,25 @@ package android.content.pm { public static class PackageInstaller.SessionInfo implements android.os.Parcelable { method public boolean getAllocateAggressive(); method public boolean getAllowDowngrade(); method @Deprecated public boolean getAllowDowngrade(); method public boolean getDontKillApp(); method @Nullable public String[] getGrantedRuntimePermissions(); method public boolean getInstallAsFullApp(boolean); method public boolean getInstallAsInstantApp(boolean); method public boolean getInstallAsVirtualPreload(); method public boolean getRequestDowngrade(); } public static class PackageInstaller.SessionParams implements android.os.Parcelable { method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean); method public void setAllowDowngrade(boolean); method @Deprecated public void setAllowDowngrade(boolean); method public void setDontKillApp(boolean); method public void setEnableRollback(); method @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]); method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex(); method public void setInstallAsInstantApp(boolean); method public void setInstallAsVirtualPreload(); method public void setRequestDowngrade(boolean); method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged(); } Loading core/java/android/content/pm/PackageInstaller.java +29 −7 Original line number Diff line number Diff line Loading @@ -1342,8 +1342,8 @@ public class PackageInstaller { * @hide */ public boolean areHiddenOptionsSet() { return (installFlags & (PackageManager.INSTALL_ALLOW_DOWNGRADE | PackageManager.INSTALL_RESPECT_ALLOW_DOWNGRADE return (installFlags & (PackageManager.INSTALL_REQUEST_DOWNGRADE | PackageManager.INSTALL_ALLOW_DOWNGRADE | PackageManager.INSTALL_DONT_KILL_APP | PackageManager.INSTALL_INSTANT_APP | PackageManager.INSTALL_FULL_APP Loading Loading @@ -1455,13 +1455,23 @@ public class PackageInstaller { installFlags |= PackageManager.INSTALL_ENABLE_ROLLBACK; } /** {@hide} */ /** * @deprecated use {@link #setRequestDowngrade(boolean)}. * {@hide} */ @SystemApi @Deprecated public void setAllowDowngrade(boolean allowDowngrade) { if (allowDowngrade) { installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE; setRequestDowngrade(allowDowngrade); } /** {@hide} */ @SystemApi public void setRequestDowngrade(boolean requestDowngrade) { if (requestDowngrade) { installFlags |= PackageManager.INSTALL_REQUEST_DOWNGRADE; } else { installFlags &= ~PackageManager.INSTALL_ALLOW_DOWNGRADE; installFlags &= ~PackageManager.INSTALL_REQUEST_DOWNGRADE; } } Loading Loading @@ -1982,11 +1992,23 @@ public class PackageInstaller { /** * Get the value set in {@link SessionParams#setAllowDowngrade(boolean)}. * * @deprecated use {@link #getRequestDowngrade()}. * @hide */ @SystemApi @Deprecated public boolean getAllowDowngrade() { return (installFlags & PackageManager.INSTALL_ALLOW_DOWNGRADE) != 0; return getRequestDowngrade(); } /** * Get the value set in {@link SessionParams#setRequestDowngrade(boolean)}. * * @hide */ @SystemApi public boolean getRequestDowngrade() { return (installFlags & PackageManager.INSTALL_REQUEST_DOWNGRADE) != 0; } /** Loading core/java/android/content/pm/PackageManager.java +16 −10 Original line number Diff line number Diff line Loading @@ -710,7 +710,7 @@ public abstract class PackageManager { INSTALL_INTERNAL, INSTALL_FROM_ADB, INSTALL_ALL_USERS, INSTALL_ALLOW_DOWNGRADE, INSTALL_REQUEST_DOWNGRADE, INSTALL_GRANT_RUNTIME_PERMISSIONS, INSTALL_FORCE_VOLUME_UUID, INSTALL_FORCE_PERMISSION_PROMPT, Loading @@ -721,7 +721,7 @@ public abstract class PackageManager { INSTALL_VIRTUAL_PRELOAD, INSTALL_APEX, INSTALL_ENABLE_ROLLBACK, INSTALL_RESPECT_ALLOW_DOWNGRADE, INSTALL_ALLOW_DOWNGRADE, }) @Retention(RetentionPolicy.SOURCE) public @interface InstallFlags {} Loading Loading @@ -768,14 +768,21 @@ public abstract class PackageManager { public static final int INSTALL_ALL_USERS = 0x00000040; /** * Flag parameter for {@link #installPackage} to indicate that it is okay * to install an update to an app where the newly installed app has a lower * version code than the currently installed app. This is permitted only if * the currently installed app is marked debuggable. * Flag parameter for {@link #installPackage} to indicate that an upgrade to a lower version * of a package than currently installed has been requested. * * <p>Note that this flag doesn't guarantee that downgrade will be performed. That decision * depends * on whenever: * <ul> * <li>An app is debuggable. * <li>Or a build is debuggable. * <li>Or {@link #INSTALL_ALLOW_DOWNGRADE} is set. * </ul> * * @hide */ public static final int INSTALL_ALLOW_DOWNGRADE = 0x00000080; public static final int INSTALL_REQUEST_DOWNGRADE = 0x00000080; /** * Flag parameter for {@link #installPackage} to indicate that all runtime Loading Loading @@ -868,12 +875,11 @@ public abstract class PackageManager { /** * Flag parameter for {@link #installPackage} to indicate that * {@link #INSTALL_ALLOW_DOWNGRADE} should be respected. * {@link #INSTALL_REQUEST_DOWNGRADE} should be allowed. * * @hide */ // TODO(b/127322579): rename public static final int INSTALL_RESPECT_ALLOW_DOWNGRADE = 0x00100000; public static final int INSTALL_ALLOW_DOWNGRADE = 0x00100000; /** @hide */ @IntDef(flag = true, prefix = { "DONT_KILL_APP" }, value = { Loading services/core/java/com/android/server/pm/PackageInstallerService.java +2 −2 Original line number Diff line number Diff line Loading @@ -482,9 +482,9 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements } if (callingUid == Process.SYSTEM_UID) { params.installFlags |= PackageManager.INSTALL_RESPECT_ALLOW_DOWNGRADE; params.installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE; } else { params.installFlags &= ~PackageManager.INSTALL_RESPECT_ALLOW_DOWNGRADE; params.installFlags &= ~PackageManager.INSTALL_ALLOW_DOWNGRADE; } boolean isApex = (params.installFlags & PackageManager.INSTALL_APEX) != 0; Loading services/core/java/com/android/server/pm/PackageManagerServiceUtils.java +3 −3 Original line number Diff line number Diff line Loading @@ -820,9 +820,9 @@ public class PackageManagerServiceUtils { // platform builds. // // In case of user builds, downgrade is permitted only for the system server initiated // sessions. This is enforced by INSTALL_RESPECT_ALLOW_DOWNGRADE flag parameter. // sessions. This is enforced by INSTALL_ALLOW_DOWNGRADE flag parameter. final boolean downgradeRequested = (installFlags & PackageManager.INSTALL_ALLOW_DOWNGRADE) != 0; (installFlags & PackageManager.INSTALL_REQUEST_DOWNGRADE) != 0; if (!downgradeRequested) { return false; } Loading @@ -832,7 +832,7 @@ public class PackageManagerServiceUtils { if (isDebuggable) { return true; } return (installFlags & PackageManager.INSTALL_RESPECT_ALLOW_DOWNGRADE) != 0; return (installFlags & PackageManager.INSTALL_ALLOW_DOWNGRADE) != 0; } /** Loading Loading
api/system-current.txt +4 −2 Original line number Diff line number Diff line Loading @@ -1561,23 +1561,25 @@ package android.content.pm { public static class PackageInstaller.SessionInfo implements android.os.Parcelable { method public boolean getAllocateAggressive(); method public boolean getAllowDowngrade(); method @Deprecated public boolean getAllowDowngrade(); method public boolean getDontKillApp(); method @Nullable public String[] getGrantedRuntimePermissions(); method public boolean getInstallAsFullApp(boolean); method public boolean getInstallAsInstantApp(boolean); method public boolean getInstallAsVirtualPreload(); method public boolean getRequestDowngrade(); } public static class PackageInstaller.SessionParams implements android.os.Parcelable { method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean); method public void setAllowDowngrade(boolean); method @Deprecated public void setAllowDowngrade(boolean); method public void setDontKillApp(boolean); method public void setEnableRollback(); method @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]); method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex(); method public void setInstallAsInstantApp(boolean); method public void setInstallAsVirtualPreload(); method public void setRequestDowngrade(boolean); method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged(); } Loading
core/java/android/content/pm/PackageInstaller.java +29 −7 Original line number Diff line number Diff line Loading @@ -1342,8 +1342,8 @@ public class PackageInstaller { * @hide */ public boolean areHiddenOptionsSet() { return (installFlags & (PackageManager.INSTALL_ALLOW_DOWNGRADE | PackageManager.INSTALL_RESPECT_ALLOW_DOWNGRADE return (installFlags & (PackageManager.INSTALL_REQUEST_DOWNGRADE | PackageManager.INSTALL_ALLOW_DOWNGRADE | PackageManager.INSTALL_DONT_KILL_APP | PackageManager.INSTALL_INSTANT_APP | PackageManager.INSTALL_FULL_APP Loading Loading @@ -1455,13 +1455,23 @@ public class PackageInstaller { installFlags |= PackageManager.INSTALL_ENABLE_ROLLBACK; } /** {@hide} */ /** * @deprecated use {@link #setRequestDowngrade(boolean)}. * {@hide} */ @SystemApi @Deprecated public void setAllowDowngrade(boolean allowDowngrade) { if (allowDowngrade) { installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE; setRequestDowngrade(allowDowngrade); } /** {@hide} */ @SystemApi public void setRequestDowngrade(boolean requestDowngrade) { if (requestDowngrade) { installFlags |= PackageManager.INSTALL_REQUEST_DOWNGRADE; } else { installFlags &= ~PackageManager.INSTALL_ALLOW_DOWNGRADE; installFlags &= ~PackageManager.INSTALL_REQUEST_DOWNGRADE; } } Loading Loading @@ -1982,11 +1992,23 @@ public class PackageInstaller { /** * Get the value set in {@link SessionParams#setAllowDowngrade(boolean)}. * * @deprecated use {@link #getRequestDowngrade()}. * @hide */ @SystemApi @Deprecated public boolean getAllowDowngrade() { return (installFlags & PackageManager.INSTALL_ALLOW_DOWNGRADE) != 0; return getRequestDowngrade(); } /** * Get the value set in {@link SessionParams#setRequestDowngrade(boolean)}. * * @hide */ @SystemApi public boolean getRequestDowngrade() { return (installFlags & PackageManager.INSTALL_REQUEST_DOWNGRADE) != 0; } /** Loading
core/java/android/content/pm/PackageManager.java +16 −10 Original line number Diff line number Diff line Loading @@ -710,7 +710,7 @@ public abstract class PackageManager { INSTALL_INTERNAL, INSTALL_FROM_ADB, INSTALL_ALL_USERS, INSTALL_ALLOW_DOWNGRADE, INSTALL_REQUEST_DOWNGRADE, INSTALL_GRANT_RUNTIME_PERMISSIONS, INSTALL_FORCE_VOLUME_UUID, INSTALL_FORCE_PERMISSION_PROMPT, Loading @@ -721,7 +721,7 @@ public abstract class PackageManager { INSTALL_VIRTUAL_PRELOAD, INSTALL_APEX, INSTALL_ENABLE_ROLLBACK, INSTALL_RESPECT_ALLOW_DOWNGRADE, INSTALL_ALLOW_DOWNGRADE, }) @Retention(RetentionPolicy.SOURCE) public @interface InstallFlags {} Loading Loading @@ -768,14 +768,21 @@ public abstract class PackageManager { public static final int INSTALL_ALL_USERS = 0x00000040; /** * Flag parameter for {@link #installPackage} to indicate that it is okay * to install an update to an app where the newly installed app has a lower * version code than the currently installed app. This is permitted only if * the currently installed app is marked debuggable. * Flag parameter for {@link #installPackage} to indicate that an upgrade to a lower version * of a package than currently installed has been requested. * * <p>Note that this flag doesn't guarantee that downgrade will be performed. That decision * depends * on whenever: * <ul> * <li>An app is debuggable. * <li>Or a build is debuggable. * <li>Or {@link #INSTALL_ALLOW_DOWNGRADE} is set. * </ul> * * @hide */ public static final int INSTALL_ALLOW_DOWNGRADE = 0x00000080; public static final int INSTALL_REQUEST_DOWNGRADE = 0x00000080; /** * Flag parameter for {@link #installPackage} to indicate that all runtime Loading Loading @@ -868,12 +875,11 @@ public abstract class PackageManager { /** * Flag parameter for {@link #installPackage} to indicate that * {@link #INSTALL_ALLOW_DOWNGRADE} should be respected. * {@link #INSTALL_REQUEST_DOWNGRADE} should be allowed. * * @hide */ // TODO(b/127322579): rename public static final int INSTALL_RESPECT_ALLOW_DOWNGRADE = 0x00100000; public static final int INSTALL_ALLOW_DOWNGRADE = 0x00100000; /** @hide */ @IntDef(flag = true, prefix = { "DONT_KILL_APP" }, value = { Loading
services/core/java/com/android/server/pm/PackageInstallerService.java +2 −2 Original line number Diff line number Diff line Loading @@ -482,9 +482,9 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements } if (callingUid == Process.SYSTEM_UID) { params.installFlags |= PackageManager.INSTALL_RESPECT_ALLOW_DOWNGRADE; params.installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE; } else { params.installFlags &= ~PackageManager.INSTALL_RESPECT_ALLOW_DOWNGRADE; params.installFlags &= ~PackageManager.INSTALL_ALLOW_DOWNGRADE; } boolean isApex = (params.installFlags & PackageManager.INSTALL_APEX) != 0; Loading
services/core/java/com/android/server/pm/PackageManagerServiceUtils.java +3 −3 Original line number Diff line number Diff line Loading @@ -820,9 +820,9 @@ public class PackageManagerServiceUtils { // platform builds. // // In case of user builds, downgrade is permitted only for the system server initiated // sessions. This is enforced by INSTALL_RESPECT_ALLOW_DOWNGRADE flag parameter. // sessions. This is enforced by INSTALL_ALLOW_DOWNGRADE flag parameter. final boolean downgradeRequested = (installFlags & PackageManager.INSTALL_ALLOW_DOWNGRADE) != 0; (installFlags & PackageManager.INSTALL_REQUEST_DOWNGRADE) != 0; if (!downgradeRequested) { return false; } Loading @@ -832,7 +832,7 @@ public class PackageManagerServiceUtils { if (isDebuggable) { return true; } return (installFlags & PackageManager.INSTALL_RESPECT_ALLOW_DOWNGRADE) != 0; return (installFlags & PackageManager.INSTALL_ALLOW_DOWNGRADE) != 0; } /** Loading