Added in [version 33.2](https://developer.android.com/topic/libraries/support-library/revisions) Summary: [Methods](https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#inhmethods)

# DoNotDisturbMode


`
public


class
DoNotDisturbMode
`


`

extends Object


`

`


`

|---|---|
| java.lang.Object ||
| ↳ | com.google.wear.modes.DoNotDisturbMode |

<br />

*** ** * ** ***

Do Not Disturb Mode attempts to reduce disturbances by preventing the device from interrupting
the user and enabling it may mute all sounds, vibrations, notifications, etc.

This class provides an object to interact with the configured and active values of do not
disturb mode.

An instance of this class can be obtained by `https://developer.android.com/reference/com/google/wear/modes/ModeManager#getDoNotDisturbMode()` API.

## Summary

| ### Public methods ||
|---|---|
| ` void` | ` https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#addIsActiveListener(java.util.concurrent.Executor,%20java.util.function.Consumer<java.lang.Boolean>)(Executor executor, Consumer<Boolean> listener) ` Adds a listener to listen for the changes in the active value of do not disturb mode. |
| ` long` | ` https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#getOverriddenReasons()() ` This method allows checking for the reason behind the state of do not disturb mode being overridden. |
| ` boolean` | ` https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#isActive()() ` Gets whether do not disturb mode is active or not. |
| ` boolean` | ` https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#isConfigured()() ` Gets the configured value of do not disturb mode. |
| ` boolean` | ` https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#isOverridden()() ` Determine if the state of do not disturb mode is overridden or not. |
| ` void` | ` https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#removeIsActiveListener(java.util.function.Consumer<java.lang.Boolean>)(Consumer<Boolean> listener) ` This removes the previously added listener. |
| ` void` | ` https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#setConfigured(boolean)(boolean value) ` Sets the configured value of do not disturb mode which can be fetched via `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#isConfigured()`. |

| ### Inherited methods |
|---|---|
| From class ` java.lang.Object ` |---|---| | ` Object` | ` clone() ` | | ` boolean` | ` equals(Object arg0) ` | | ` void` | ` finalize() ` | | ` final Class<?>` | ` getClass() ` | | ` int` | ` hashCode() ` | | ` final void` | ` notify() ` | | ` final void` | ` notifyAll() ` | | ` String` | ` toString() ` | | ` final void` | ` wait(long arg0, int arg1) ` | | ` final void` | ` wait(long arg0) ` | | ` final void` | ` wait() ` | ||

## Public methods

### addIsActiveListener

Added in [version 33.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public void addIsActiveListener (Executor executor, 
                Consumer<Boolean> listener)
```

Adds a listener to listen for the changes in the active value of do not disturb mode. The
listener will be triggered asynchronously with an initial value on registration and then
again when the value changes.

Due to potential race conditions between calls, use of this method should not be mixed
with `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#isActive()` method and the value the listener is triggered with should be
treated as the latest active value.

Note: This should be balanced with `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#removeIsActiveListener(java.util.function.Consumer<java.lang.Boolean>)` to prevent
memory leaks.


Requires com.google.wear.services.Permissions.READ_FOCUS_MODES

<br />

| Parameters ||
|---|---|
| `executor` | `Executor`: The listener will be triggered on this `https://developer.android.com/reference/java/util/concurrent/Executor` <br /> |
| `listener` | `Consumer`: The listener to add <br /> |

### getOverriddenReasons

Added in [version 33.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public long getOverriddenReasons ()
```

This method allows checking for the reason behind the state of do not disturb mode being
overridden. See `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#isOverridden()` for details.

This method returns a flag (defined in `https://developer.android.com/reference/com/google/wear/modes/ModeManager`) comprising reason(s)
indicating the factors playing a role in overriding the state of do not disturb mode. Each
flag has a permission associated with it, and this method only returns the flags the caller
already has the permission for. Please check the respective flag for its permission
requirement.

Note: The returned value might also contain `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_UNKNOWN_REASON` indicating an unknown cause behind the state
of do not disturb mode being overridden.


Requires com.google.wear.services.Permissions.READ_FOCUS_MODES

<br />

| Returns ||
|---|---|
| `long` | the combination of flags defined in `https://developer.android.com/reference/com/google/wear/modes/ModeManager` specifying the cause behind the state of do not disturb mode being overridden. Returned value of `OL` implies that the state of do not disturb mode is not overridden. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_UNKNOWN_REASON` - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_BEDTIME_MODE` - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_THEATER_MODE` - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_SCREEN_READER` - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_BATTERY_SAVER_MODE` - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_SCHOOL_MODE` - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_DOWNTIME_MODE` |

### isActive

Added in [version 33.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public boolean isActive ()
```

Gets whether do not disturb mode is active or not.

This is the active value of do not disturb mode in effect as reflected on the device. It
determined by the current operating context of the system. Due to potential race conditions
due to change between calls, use of this method should not be mixed with `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#addIsActiveListener(java.util.concurrent.Executor,%20java.util.function.Consumer<java.lang.Boolean>)`.


Requires com.google.wear.services.Permissions.READ_FOCUS_MODES

<br />

| Returns ||
|---|---|
| `boolean` | true if do not disturb mode is active, else false <br /> |

### isConfigured

Added in [version 33.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public boolean isConfigured ()
```

Gets the configured value of do not disturb mode.

This reflects the default configured value of do not disturb mode and is set via `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#setConfigured(boolean)`.

Note: If the state of do not disturb mode is overridden (`https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#isOverridden()`), this
may differ from the active value. See `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#isOverridden()` for details.


Requires com.google.wear.services.Permissions.READ_FOCUS_MODES

<br />

| Returns ||
|---|---|
| `boolean` | the configured value of do not disturb mode <br /> |

### isOverridden

Added in [version 33.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public boolean isOverridden ()
```

Determine if the state of do not disturb mode is overridden or not.

Do not disturb mode has a configured value which is the default value for its state. The
active value as reflected on the device, on the other hand, is determined by the current
operating context of the system and depends on either of the following:

- Either the configured value of do not disturb mode
- Or the configured values of all other modes

The state of do not disturb mode can be defined as overridden if its configured value does
not play a role in determining its active value. This does not necessarily mean that the
configured value will be different from the active value but rather means that if the
configured value is updated, the active value will not be updated till the override is
lifted.


Requires com.google.wear.services.Permissions.READ_FOCUS_MODES

<br />

| Returns ||
|---|---|
| `boolean` | true if the state of do not disturb mode is overridden, i.e. updating configured value does not update the active value <br /> |

### removeIsActiveListener

Added in [version 33.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public void removeIsActiveListener (Consumer<Boolean> listener)
```

This removes the previously added listener.

<br />

| Parameters ||
|---|---|
| `listener` | `Consumer`: The listener to remove <br /> |

### setConfigured

Added in [version 33.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public void setConfigured (boolean value)
```

Sets the configured value of do not disturb mode which can be fetched via `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#isConfigured()`. In case an override is not in place, this will also update its active value
as reflected on the device which can be fetched via `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode#isActive()`. However, in case the
state of do not disturb mode is overridden, its active value as on the device will be updated
to reflect this configured value once the override is uplifted.


Requires com.google.wear.services.Permissions.WRITE_FOCUS_MODES

<br />

| Parameters ||
|---|---|
| `value` | `boolean`: True to enable do not disturb mode <br /> |