Condition


public final class Condition
extends Object implements Parcelable

java.lang.Object
   ↳ android.service.notification.Condition


The current condition of an AutomaticZenRule, provided by the app that owns the rule. Used to tell the system to enter Do Not Disturb mode and request that the system exit Do Not Disturb mode.

Summary

Constants

int FLAG_RELEVANT_ALWAYS

int FLAG_RELEVANT_NOW

String SCHEME

int SOURCE_CONTEXT

The state is changing due to a change in context (such as detected driving or sleeping).

int SOURCE_SCHEDULE

The state is changing due to an automatic schedule (alarm, set time, etc).

int SOURCE_UNKNOWN

The state is changing due to an unknown reason.

int SOURCE_USER_ACTION

The state is changing due to an explicit user action.

int STATE_ERROR

int STATE_FALSE

Indicates that Do Not Disturb should be turned off.

int STATE_TRUE

Indicates that Do Not Disturb should be turned on.

int STATE_UNKNOWN

Inherited constants

Fields

public static final Creator<Condition> CREATOR

public final int flags

public final int icon

public final Uri id

The URI representing the rule being updated.

public final String line1

public final String line2

public final int source

The source of, or reason for, the state change represented by this Condition.

public final int state

The state of this condition.

public final String summary

A summary of what the rule encoded in id means when it is enabled.

Public constructors

Condition(Uri id, String summary, int state)

An object representing the current state of a AutomaticZenRule.

Condition(Uri id, String summary, int state, int source)

An object representing the current state of a AutomaticZenRule.

Condition(Uri id, String summary, String line1, String line2, int icon, int state, int flags)
Condition(Uri id, String summary, String line1, String line2, int icon, int state, int source, int flags)

An object representing the current state of a AutomaticZenRule.

Condition(Parcel source)

Public methods

Condition copy()
int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

boolean equals(Object o)

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

int hashCode()

Returns a hash code value for the object.

static boolean isValidId(Uri id, String pkg)
static Uri.Builder newId(Context context)
static String relevanceToString(int flags)
static String stateToString(int state)
String toString()

Returns a string representation of the object.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Constants

FLAG_RELEVANT_ALWAYS

Added in API level 24
public static final int FLAG_RELEVANT_ALWAYS

Constant Value: 2 (0x00000002)

FLAG_RELEVANT_NOW

Added in API level 24
public static final int FLAG_RELEVANT_NOW

Constant Value: 1 (0x00000001)

SCHEME

Added in API level 24
public static final String SCHEME

Constant Value: "condition"

SOURCE_CONTEXT

Added in API level 35
public static final int SOURCE_CONTEXT

The state is changing due to a change in context (such as detected driving or sleeping).

Constant Value: 3 (0x00000003)

SOURCE_SCHEDULE

Added in API level 35
public static final int SOURCE_SCHEDULE

The state is changing due to an automatic schedule (alarm, set time, etc).

Constant Value: 2 (0x00000002)

SOURCE_UNKNOWN

Added in API level 35
public static final int SOURCE_UNKNOWN

The state is changing due to an unknown reason.

Constant Value: 0 (0x00000000)

SOURCE_USER_ACTION

Added in API level 35
public static final int SOURCE_USER_ACTION

The state is changing due to an explicit user action.

Constant Value: 1 (0x00000001)

STATE_ERROR

Added in API level 24
public static final int STATE_ERROR

Constant Value: 3 (0x00000003)

STATE_FALSE

Added in API level 24
public static final int STATE_FALSE

Indicates that Do Not Disturb should be turned off. Note that all Conditions from all AutomaticZenRule providers must be off for Do Not Disturb to be turned off on the device.

Constant Value: 0 (0x00000000)

STATE_TRUE

Added in API level 24
public static final int STATE_TRUE

Indicates that Do Not Disturb should be turned on.

Constant Value: 1 (0x00000001)

STATE_UNKNOWN

Added in API level 24
public static final int STATE_UNKNOWN

Constant Value: 2 (0x00000002)

Fields

CREATOR

Added in API level 24
public static final Creator<Condition> CREATOR

flags

Added in API level 24
public final int flags

icon

Added in API level 24
public final int icon

id

Added in API level 24
public final Uri id

The URI representing the rule being updated. See AutomaticZenRule.getConditionId().

line1

Added in API level 24
public final String line1

line2

Added in API level 24
public final String line2

source

Added in API level 35
public final int source

The source of, or reason for, the state change represented by this Condition. *
Value is SOURCE_UNKNOWN, SOURCE_USER_ACTION, SOURCE_SCHEDULE, or SOURCE_CONTEXT

state

Added in API level 24
public final int state

The state of this condition. STATE_TRUE will enable Do Not Disturb mode. STATE_FALSE will turn Do Not Disturb off for this rule. Note that Do Not Disturb might still be enabled globally if other conditions are in a STATE_TRUE state.
Value is STATE_FALSE, STATE_TRUE, STATE_UNKNOWN, or STATE_ERROR

summary

Added in API level 24
public final String summary

A summary of what the rule encoded in id means when it is enabled. User visible if the state of the condition is STATE_TRUE.

Public constructors

Condition

Added in API level 24
public Condition (Uri id, 
                String summary, 
                int state)

An object representing the current state of a AutomaticZenRule.

Parameters
id Uri: the AutomaticZenRule.getConditionId() of the zen rule

summary String: a user visible description of the rule state

state int: whether the mode should be activated or deactivated

Condition

Added in API level 35
public Condition (Uri id, 
                String summary, 
                int state, 
                int source)

An object representing the current state of a AutomaticZenRule.

Parameters
id Uri: the AutomaticZenRule.getConditionId() of the zen rule This value may be null.

summary String: a user visible description of the rule state This value may be null.

state int: whether the mode should be activated or deactivated Value is STATE_FALSE, STATE_TRUE, STATE_UNKNOWN, or STATE_ERROR

source int: the source of, or reason for, the state change represented by this Condition Value is SOURCE_UNKNOWN, SOURCE_USER_ACTION, SOURCE_SCHEDULE, or SOURCE_CONTEXT

Condition

Added in API level 24
public Condition (Uri id, 
                String summary, 
                String line1, 
                String line2, 
                int icon, 
                int state, 
                int flags)

Parameters
id Uri

summary String

line1 String

line2 String

icon int

state int

flags int

Condition

Added in API level 35
public Condition (Uri id, 
                String summary, 
                String line1, 
                String line2, 
                int icon, 
                int state, 
                int source, 
                int flags)

An object representing the current state of a AutomaticZenRule.

Parameters
id Uri: the AutomaticZenRule.getConditionId() of the zen rule This value may be null.

summary String: a user visible description of the rule state This value may be null.

line1 String: a user-visible description of when the rule will end This value may be null.

line2 String: a continuation of the user-visible description of when the rule will end This value may be null.

icon int: an icon representing this condition

state int: whether the mode should be activated or deactivated Value is STATE_FALSE, STATE_TRUE, STATE_UNKNOWN, or STATE_ERROR

source int: the source of, or reason for, the state change represented by this Condition Value is SOURCE_UNKNOWN, SOURCE_USER_ACTION, SOURCE_SCHEDULE, or SOURCE_CONTEXT

flags int: flags on this condition

Condition

Added in API level 24
public Condition (Parcel source)

Parameters
source Parcel

Public methods

copy

Added in API level 24
public Condition copy ()

Returns
Condition

describeContents

Added in API level 24
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

equals

Added in API level 24
public boolean equals (Object o)

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
o Object: This value may be null.

Returns
boolean true if this object is the same as the obj argument; false otherwise.

hashCode

Added in API level 24
public int hashCode ()

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

Returns
int a hash code value for this object.

isValidId

Added in API level 24
public static boolean isValidId (Uri id, 
                String pkg)

Parameters
id Uri

pkg String

Returns
boolean

newId

Added in API level 24
public static Uri.Builder newId (Context context)

Parameters
context Context

Returns
Uri.Builder

relevanceToString

Added in API level 24
public static String relevanceToString (int flags)

Parameters
flags int

Returns
String

stateToString

Added in API level 24
public static String stateToString (int state)

Parameters
state int

Returns
String

toString

Added in API level 24
public String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

writeToParcel

Added in API level 24
public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: The Parcel in which the object should be written. This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES