Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Nested Classes](https://developer.android.com/reference/android/service/notification/ZenPolicy#nestedclasses) \| [Constants](https://developer.android.com/reference/android/service/notification/ZenPolicy#constants) \| [Inherited Constants](https://developer.android.com/reference/android/service/notification/ZenPolicy#inhconstants) \| [Fields](https://developer.android.com/reference/android/service/notification/ZenPolicy#lfields) \| [Methods](https://developer.android.com/reference/android/service/notification/ZenPolicy#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/service/notification/ZenPolicy#inhmethods)

# ZenPolicy

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/service/notification/ZenPolicy "View this page in Kotlin") \|Java


`
public

final

class
ZenPolicy
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


implements

https://developer.android.com/reference/android/os/Parcelable


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.service.notification.ZenPolicy |

<br />

*** ** * ** ***

ZenPolicy determines whether to allow certain notifications and their corresponding sounds to
play when a device is in Do Not Disturb mode.
ZenPolicy also dictates the visual effects of notifications that are intercepted when
a device is in Do Not Disturb mode.

## Summary

| ### Nested classes ||
|---|---|
| ` class` | `https://developer.android.com/reference/android/service/notification/ZenPolicy.Builder` Builder class for `https://developer.android.com/reference/android/service/notification/ZenPolicy` objects. |

| ### Constants ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#CONVERSATION_SENDERS_ANYONE` Used to indicate all conversations can bypass dnd. |
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#CONVERSATION_SENDERS_IMPORTANT` Used to indicate important conversations can bypass dnd. |
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#CONVERSATION_SENDERS_NONE` Used to indicate no conversations can bypass dnd. |
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#CONVERSATION_SENDERS_UNSET` Used to indicate no preference for the type of conversations that can bypass dnd. |
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_ANYONE` Used to indicate all calls or messages can bypass dnd. |
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_CONTACTS` Used to indicate calls or messages from contacts can bypass dnd. |
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_NONE` Used to indicate no calls or messages can bypass dnd. |
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_STARRED` Used to indicate calls or messages from starred contacts can bypass dnd. |
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_UNSET` Used to indicate no preference for the type of people that can bypass dnd for either calls or messages. |
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` Indicates a type of sound or visual effect is allowed to play/show when DND is active. |
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` Indicates a type of sound or visual effect is not allowed to play/show when DND is active. |
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` Indicates no preference for whether a type of sound or visual effect is or isn't allowed to play/show when DND is active. |

| ### Inherited constants |
|---|
| From interface `https://developer.android.com/reference/android/os/Parcelable` |---|---| | `int` | `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` Descriptor bit used with `https://developer.android.com/reference/android/os/Parcelable#describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor. | | `int` | `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` Flag for use with `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`". | |

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/os/Parcelable.Creator<https://developer.android.com/reference/android/service/notification/ZenPolicy>` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#CREATOR` |

| ### Public methods ||
|---|---|
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` boolean` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object o) ` Indicates whether some other object is "equal to" this one. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityCallSenders()() ` Callers that can bypass DND. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityCategoryAlarms()() ` Whether this policy wants to allow notifications with category `https://developer.android.com/reference/android/app/Notification#CATEGORY_ALARM` to play sounds and visually appear or to intercept them when DND is active. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityCategoryCalls()() ` Whether this policy wants to allow notifications with category `https://developer.android.com/reference/android/app/Notification#CATEGORY_CALL` to play sounds and visually appear or to intercept them when DND is active. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityCategoryConversations()() ` Whether this policy wants to allow conversation notifications (see `https://developer.android.com/reference/android/app/NotificationChannel#getConversationId()`) to play sounds and visually appear or to intercept them when DND is active. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityCategoryEvents()() ` Whether this policy wants to allow notifications with category `https://developer.android.com/reference/android/app/Notification#CATEGORY_EVENT` to play sounds and visually appear or to intercept them when DND is active. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityCategoryMedia()() ` Whether this policy wants to allow media notifications to play sounds and visually appear or to intercept them when DND is active. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityCategoryMessages()() ` Whether this policy wants to allow notifications with category `https://developer.android.com/reference/android/app/Notification#CATEGORY_MESSAGE` to play sounds and visually appear or to intercept them when DND is active. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityCategoryReminders()() ` Whether this policy wants to allow notifications with category `https://developer.android.com/reference/android/app/Notification#CATEGORY_REMINDER` to play sounds and visually appear or to intercept them when DND is active. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityCategoryRepeatCallers()() ` Whether this policy wants to allow repeat callers (notifications with category `https://developer.android.com/reference/android/app/Notification#CATEGORY_CALL` that have recently called) to play sounds and visually appear or to intercept them when DND is active. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityCategorySystem()() ` Whether this policy wants to allow system sounds when DND is active. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityChannelsAllowed()() ` Whether this policy allows `https://developer.android.com/reference/android/app/NotificationChannel` marked as `https://developer.android.com/reference/android/app/NotificationChannel#canBypassDnd()` to bypass DND. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityConversationSenders()() ` Conversation type that can bypass DND. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityMessageSenders()() ` Message senders that can bypass DND. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getVisualEffectAmbient()() ` Whether this policy allows notifications intercepted by DND from appearing on ambient displays on devices that support ambient display. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getVisualEffectBadge()() ` Whether this policy allows `https://developer.android.com/reference/android/app/NotificationChannel#canShowBadge()` from notifications intercepted by DND on devices that support badging. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getVisualEffectFullScreenIntent()() ` Whether this policy allows `https://developer.android.com/reference/android/app/Notification#fullScreenIntent` from notifications intercepted by DND. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getVisualEffectLights()() ` Whether this policy allows `https://developer.android.com/reference/android/app/NotificationChannel#shouldShowLights()` from notifications intercepted by DND. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getVisualEffectNotificationList()() ` Whether this policy allows notifications intercepted by DND from appearing in notification list views like the notification shade or lockscreen on devices that support those views. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getVisualEffectPeek()() ` Whether this policy allows peeking from notifications intercepted by DND. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#getVisualEffectStatusBar()() ` Whether this policy allows notifications intercepted by DND from appearing in the status bar on devices that support status bars. |
| ` int` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#hashCode()() ` Returns a hash code value for the object. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#toString()() ` Returns a string representation of the object. |
| ` void` | ` https://developer.android.com/reference/android/service/notification/ZenPolicy#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a Parcel. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||
| From interface ` https://developer.android.com/reference/android/os/Parcelable ` |---|---| | ` abstract int` | ` https://developer.android.com/reference/android/os/Parcelable#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. | | ` abstract void` | ` https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a Parcel. | ||

## Constants

### CONVERSATION_SENDERS_ANYONE

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int CONVERSATION_SENDERS_ANYONE
```

Used to indicate all conversations can bypass dnd.

<br />

Constant Value:

1
(0x00000001)


### CONVERSATION_SENDERS_IMPORTANT

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int CONVERSATION_SENDERS_IMPORTANT
```

Used to indicate important conversations can bypass dnd.

<br />

Constant Value:

2
(0x00000002)


### CONVERSATION_SENDERS_NONE

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int CONVERSATION_SENDERS_NONE
```

Used to indicate no conversations can bypass dnd.

<br />

Constant Value:

3
(0x00000003)


### CONVERSATION_SENDERS_UNSET

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int CONVERSATION_SENDERS_UNSET
```

Used to indicate no preference for the type of conversations that can bypass dnd.

<br />

Constant Value:

0
(0x00000000)


### PEOPLE_TYPE_ANYONE

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int PEOPLE_TYPE_ANYONE
```

Used to indicate all calls or messages can bypass dnd.

<br />

Constant Value:

1
(0x00000001)


### PEOPLE_TYPE_CONTACTS

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int PEOPLE_TYPE_CONTACTS
```

Used to indicate calls or messages from contacts can bypass dnd.

<br />

Constant Value:

2
(0x00000002)


### PEOPLE_TYPE_NONE

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int PEOPLE_TYPE_NONE
```

Used to indicate no calls or messages can bypass dnd.

<br />

Constant Value:

4
(0x00000004)


### PEOPLE_TYPE_STARRED

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int PEOPLE_TYPE_STARRED
```

Used to indicate calls or messages from starred contacts can bypass dnd.

<br />

Constant Value:

3
(0x00000003)


### PEOPLE_TYPE_UNSET

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int PEOPLE_TYPE_UNSET
```

Used to indicate no preference for the type of people that can bypass dnd for either
calls or messages.

<br />

Constant Value:

0
(0x00000000)


### STATE_ALLOW

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int STATE_ALLOW
```

Indicates a type of sound or visual effect is allowed to play/show when DND is active.

<br />

Constant Value:

1
(0x00000001)


### STATE_DISALLOW

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int STATE_DISALLOW
```

Indicates a type of sound or visual effect is not allowed to play/show when DND is active.

<br />

Constant Value:

2
(0x00000002)


### STATE_UNSET

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int STATE_UNSET
```

Indicates no preference for whether a type of sound or visual effect is or isn't allowed
to play/show when DND is active. Will default to the current set policy.

<br />

Constant Value:

0
(0x00000000)


## Fields

### CREATOR

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final Creator<ZenPolicy> CREATOR
```

<br />

<br />

## Public methods

### describeContents

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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 `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`,
the return value of this method must include the
`https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` bit.

<br />

| Returns ||
|---|---|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or - `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` |

### equals

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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.

<br />

| Parameters ||
|---|---|
| `o` | `Object`: This value may be `null`. <br /> |

| Returns ||
|---|---|
| `boolean` | `true` if this object is the same as the obj argument; `false` otherwise. <br /> |

### getPriorityCallSenders

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityCallSenders ()
```

Callers that can bypass DND.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_UNSET`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_ANYONE`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_CONTACTS`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_STARRED` or `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_NONE` Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_ANYONE` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_CONTACTS` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_STARRED` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_NONE` |

### getPriorityCategoryAlarms

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityCategoryAlarms ()
```

Whether this policy wants to allow notifications with category
`https://developer.android.com/reference/android/app/Notification#CATEGORY_ALARM` to play sounds and visually appear
or to intercept them when DND is active.
When alarms are `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW`, the alarm stream will be muted when DND
is active.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` or `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getPriorityCategoryCalls

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityCategoryCalls ()
```

Whether this policy wants to allow notifications with category
`https://developer.android.com/reference/android/app/Notification#CATEGORY_CALL` to play sounds and visually appear
or to intercept them when DND is active. Types of callers that are allowed
are specified by `https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityCallSenders()`.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` or `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getPriorityCategoryConversations

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityCategoryConversations ()
```

Whether this policy wants to allow conversation notifications
(see `https://developer.android.com/reference/android/app/NotificationChannel#getConversationId()`) to play sounds and visually appear
or to intercept them when DND is active.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` or `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getPriorityCategoryEvents

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityCategoryEvents ()
```

Whether this policy wants to allow notifications with category
`https://developer.android.com/reference/android/app/Notification#CATEGORY_EVENT` to play sounds and visually appear
or to intercept them when DND is active.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` or `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getPriorityCategoryMedia

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityCategoryMedia ()
```

Whether this policy wants to allow media notifications to play sounds and visually appear
or to intercept them when DND is active.
When media is `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW`, the media stream will be muted when DND is
active.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` or `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getPriorityCategoryMessages

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityCategoryMessages ()
```

Whether this policy wants to allow notifications with category
`https://developer.android.com/reference/android/app/Notification#CATEGORY_MESSAGE` to play sounds and visually appear
or to intercept them when DND is active. Types of message senders that are allowed
are specified by `https://developer.android.com/reference/android/service/notification/ZenPolicy#getPriorityMessageSenders()`.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` or `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getPriorityCategoryReminders

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityCategoryReminders ()
```

Whether this policy wants to allow notifications with category
`https://developer.android.com/reference/android/app/Notification#CATEGORY_REMINDER` to play sounds and visually appear
or to intercept them when DND is active.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` or `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getPriorityCategoryRepeatCallers

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityCategoryRepeatCallers ()
```

Whether this policy wants to allow repeat callers (notifications with category
`https://developer.android.com/reference/android/app/Notification#CATEGORY_CALL` that have recently called) to play sounds and
visually appear or to intercept them when DND is active.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` or `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getPriorityCategorySystem

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityCategorySystem ()
```

Whether this policy wants to allow system sounds when DND is active.
When system is `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW`, the system stream will be muted when DND is active.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` or `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getPriorityChannelsAllowed

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityChannelsAllowed ()
```

Whether this policy allows `https://developer.android.com/reference/android/app/NotificationChannel` marked as
`https://developer.android.com/reference/android/app/NotificationChannel#canBypassDnd()` to bypass DND. If `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW`, these
channels may bypass; if `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW`, then even notifications from channels
with `https://developer.android.com/reference/android/app/NotificationChannel#canBypassDnd()` will be intercepted.

<br />

| Returns ||
|---|---|
| `int` | Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getPriorityConversationSenders

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityConversationSenders ()
```

Conversation type that can bypass DND.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#CONVERSATION_SENDERS_UNSET`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#CONVERSATION_SENDERS_ANYONE`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#CONVERSATION_SENDERS_IMPORTANT`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#CONVERSATION_SENDERS_NONE`. Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#CONVERSATION_SENDERS_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#CONVERSATION_SENDERS_ANYONE` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#CONVERSATION_SENDERS_IMPORTANT` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#CONVERSATION_SENDERS_NONE` |

### getPriorityMessageSenders

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getPriorityMessageSenders ()
```

Message senders that can bypass DND.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_UNSET`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_ANYONE`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_CONTACTS`, `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_STARRED` or `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_NONE` Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_ANYONE` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_CONTACTS` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_STARRED` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#PEOPLE_TYPE_NONE` |

### getVisualEffectAmbient

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getVisualEffectAmbient ()
```

Whether this policy allows notifications intercepted by DND from appearing on ambient
displays on devices that support ambient display.

<br />

| Returns ||
|---|---|
| `int` | Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getVisualEffectBadge

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getVisualEffectBadge ()
```

Whether this policy allows `https://developer.android.com/reference/android/app/NotificationChannel#canShowBadge()` from
notifications intercepted by DND on devices that support badging.

<br />

| Returns ||
|---|---|
| `int` | Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getVisualEffectFullScreenIntent

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getVisualEffectFullScreenIntent ()
```

Whether this policy allows `https://developer.android.com/reference/android/app/Notification#fullScreenIntent` from
notifications intercepted by DND.

<br />

| Returns ||
|---|---|
| `int` | Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getVisualEffectLights

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getVisualEffectLights ()
```

Whether this policy allows `https://developer.android.com/reference/android/app/NotificationChannel#shouldShowLights()` from notifications intercepted by DND.

<br />

| Returns ||
|---|---|
| `int` | Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getVisualEffectNotificationList

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getVisualEffectNotificationList ()
```

Whether this policy allows notifications intercepted by DND from appearing in notification
list views like the notification shade or lockscreen on devices that support those
views.

<br />

| Returns ||
|---|---|
| `int` | Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getVisualEffectPeek

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getVisualEffectPeek ()
```

Whether this policy allows peeking from notifications intercepted by DND.

<br />

| Returns ||
|---|---|
| `int` | Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### getVisualEffectStatusBar

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getVisualEffectStatusBar ()
```

Whether this policy allows notifications intercepted by DND from appearing in the status bar
on devices that support status bars.

<br />

| Returns ||
|---|---|
| `int` | Value is one of the following: - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_UNSET` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_ALLOW` - `https://developer.android.com/reference/android/service/notification/ZenPolicy#STATE_DISALLOW` |

### hashCode

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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
`https://developer.android.com/reference/java/util/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 `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` 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 `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` 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.

<br />

<br />

| Returns ||
|---|---|
| `int` | a hash code value for this object. <br /> |

### toString

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String toString ()
```

Returns a string representation of the object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | a string representation of the object. <br /> |

### writeToParcel

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void writeToParcel (Parcel dest, 
                int flags)
```

Flatten this object in to a Parcel.

<br />

| Parameters ||
|---|---|
| `dest` | `Parcel`: The Parcel in which the object should be written. This value cannot be `null`. <br /> |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` |