Added in API level 34

InstallConstraints


class InstallConstraints : Parcelable
kotlin.Any
   ↳ android.content.pm.PackageInstaller.InstallConstraints

A class to encapsulate constraints for installation. When used with checkInstallConstraints(java.util.List,android.content.pm.PackageInstaller.InstallConstraints,java.util.concurrent.Executor,java.util.function.Consumer), it specifies the conditions to check against for the packages in question. This can be used by app stores to deliver auto updates without disrupting the user experience (referred as gentle update) - for example, an app store might hold off updates when it find out the app to update is interacting with the user. Use Builder to create a new instance and call mutator methods to add constraints. If no mutators were called, default constraints will be generated which implies no constraints. It is recommended to use preset constraints which are useful in most cases. For the purpose of gentle update, it is recommended to always use GENTLE_UPDATE for the system knows best how to do it. It will also benefits the installer as the platform evolves and add more constraints to improve the accuracy and efficiency of gentle update. Note the constraints are applied transitively. If app Foo is used by app Bar (via shared library or bounded service), the constraints will also be applied to Bar.

Summary

Nested classes

Builder class for constructing InstallConstraints.

Inherited constants
Public methods
Int

Boolean
equals(other: Any?)

Indicates whether some other object is "equal to" this one.

Int

Boolean

Boolean

Boolean

Boolean

Boolean

Unit
writeToParcel(dest: Parcel, flags: Int)

Flatten this object in to a Parcel.

Properties
static Parcelable.Creator<PackageInstaller.InstallConstraints!>

static PackageInstaller.InstallConstraints

Preset constraints suitable for gentle update.

Public methods

describeContents

Added in API level 34
fun describeContents(): Int
Return
Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR

equals

Added in API level 34
fun equals(other: Any?): Boolean

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj the reference object with which to compare.
o This value may be null.
Return
Boolean true if this object is the same as the obj argument; false otherwise.

hashCode

Added in API level 34
fun hashCode(): Int
Return
Int a hash code value for this object.

isAppNotForegroundRequired

Added in API level 34
fun isAppNotForegroundRequired(): Boolean

isAppNotInteractingRequired

Added in API level 34
fun isAppNotInteractingRequired(): Boolean

isAppNotTopVisibleRequired

Added in API level 34
fun isAppNotTopVisibleRequired(): Boolean

isDeviceIdleRequired

Added in API level 34
fun isDeviceIdleRequired(): Boolean

isNotInCallRequired

Added in API level 34
fun isNotInCallRequired(): Boolean

writeToParcel

Added in API level 34
fun writeToParcel(
    dest: Parcel,
    flags: Int
): Unit

Flatten this object in to a Parcel.

Parameters
dest Parcel: This value cannot be null.
flags Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

Properties

GENTLE_UPDATE

Added in API level 34
static val GENTLE_UPDATE: PackageInstaller.InstallConstraints

Preset constraints suitable for gentle update.