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

# ModeManager


`
public

final

class
ModeManager
`


`

extends Object


`

`


`

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

<br />

*** ** * ** ***

Provides a means to query and update the state of modes and features on Wear.

An instance of this class can be obtained directly via the Wear SDK by invoking the following
API:

`com.google.wear.Sdk.getWearManager(context, ModeManager.class);`

This class provides methods returning objects to control the mode or feature under
consideration particularly interacting with its configured and active value where:

- Active value: This refers to the value of the state of the mode or feature as reflected on the device.
- Configured value: This refers to the default value of the state of the mode or feature.

Only the configured value of a mode or feature can be set directly. The active value, on the
other hand, cannot be set directly and is determined by the current operating context of the
system and depends on either the configuration of this mode / feature or the configurations of
others. If the configured value of a mode or feature does not play a role in determining its
active value, it's state is said to be overridden. There are a variety of reasons as to why the
state of a mode or feature might be overridden.

As an example, let's consider the interaction of just two states: Battery Saver Mode and
Always on Display and that battery saver mode overrides the state of ambient mode. If ambient
mode is enabled, and we also enable battery saver mode, ambient mode will be disabled. Here the
configured value for ambient mode will still be `true` but the active value will be `false`, i.e. ambient mode is overridden. Even if the configured value for always on display is
updated, it would remain disabled. Only when battery saver mode is disabled, i.e. the override on
ambient mode is uplifted, the enablement status of ambient mode will be updated to its configured
value.

Following is the list of supported modes and features:

- Bedtime Mode - `https://developer.android.com/reference/com/google/wear/modes/BedtimeMode`
- Ambient Mode - `https://developer.android.com/reference/com/google/wear/modes/AmbientMode`
- Tilt To Wake - `https://developer.android.com/reference/com/google/wear/modes/TiltToWake`
- Do Not Disturb Mode - `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode`
- Touch Lock Mode - `https://developer.android.com/reference/com/google/wear/modes/TouchLockMode`
- Theater Mode - `https://developer.android.com/reference/com/google/wear/modes/TheaterMode`
- Battery Saver Mode - `https://developer.android.com/reference/com/google/wear/modes/BatterySaverMode`
- School Mode - `https://developer.android.com/reference/com/google/wear/modes/SchoolMode`
- Downtime Mode - `https://developer.android.com/reference/com/google/wear/modes/DowntimeMode`

Following is the list of reasons why the state of a mode or feature is overridden:

- Unknown reason - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_UNKNOWN_REASON`
- Bedtime Mode - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_BEDTIME_MODE`
- Theater Mode - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_THEATER_MODE`
- Screen reader - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_SCREEN_READER`
- Battery Saver Mode - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_BATTERY_SAVER_MODE`
- School Mode - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_SCHOOL_MODE`
- Downtime Mode - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_DOWNTIME_MODE`

<br />

## Summary

| ### Constants ||
|---|---|
| `int` | `https://developer.android.com/reference/com/google/wear/modes/ModeManager#MODE_SUPPORT_STATUS_NOT_SUPPORTED` The mode is not supported for the current user on this device. |
| `int` | `https://developer.android.com/reference/com/google/wear/modes/ModeManager#MODE_SUPPORT_STATUS_SUPPORTED` The mode is actively supported for the current user on this device. |
| `int` | `https://developer.android.com/reference/com/google/wear/modes/ModeManager#MODE_SUPPORT_STATUS_UNKNOWN` The support status cannot be determined at this time. |

| ### Fields ||
|---|---|
| ` public static final long` | `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_BATTERY_SAVER_MODE` Flag to check if the state of a mode or feature is being overridden by Battery Saver Mode. |
| ` public static final long` | `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_BEDTIME_MODE` Flag to check if the state of a mode or feature is being overridden by Bedtime Mode. |
| ` public static final long` | `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_DOWNTIME_MODE` Flag to check if the state of a mode or feature is being overridden by Downtime Mode. |
| ` public static final long` | `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_SCHOOL_MODE` Flag to check if the state of a mode or feature is being overridden by School Mode. |
| ` public static final long` | `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_SCREEN_READER` Flag to check if the state of a mode or feature is being overridden by screen reader |
| ` public static final long` | `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_THEATER_MODE` Flag to check if the state of a mode or feature is being overridden by Theater Mode. |
| ` public static final long` | `https://developer.android.com/reference/com/google/wear/modes/ModeManager#FLAG_OVERRIDDEN_BY_UNKNOWN_REASON` Flag to check if the state of a mode or feature is being overridden but the reason is unknown |

| ### Public methods ||
|---|---|
| ` void` | ` https://developer.android.com/reference/com/google/wear/modes/ModeManager#addModeSupportStatusListener(java.util.concurrent.Executor,%20java.util.function.BiConsumer<java.lang.Class<?>,java.lang.Integer>)(Executor executor, BiConsumer<Class<?>, Integer> listener) ` Adds a listener to receive updates on mode support status. |
| ` https://developer.android.com/reference/com/google/wear/modes/AmbientMode` | ` https://developer.android.com/reference/com/google/wear/modes/ModeManager#getAmbientMode()() ` Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/AmbientMode` to control Ambient Mode. |
| ` https://developer.android.com/reference/com/google/wear/modes/BatterySaverMode` | ` https://developer.android.com/reference/com/google/wear/modes/ModeManager#getBatterySaverMode()() ` Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/BatterySaverMode` to control Battery Saver Mode. |
| ` https://developer.android.com/reference/com/google/wear/modes/BedtimeMode` | ` https://developer.android.com/reference/com/google/wear/modes/ModeManager#getBedtimeMode()() ` Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/BedtimeMode` to control Bedtime Mode. |
| ` https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode` | ` https://developer.android.com/reference/com/google/wear/modes/ModeManager#getDoNotDisturbMode()() ` Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode` to control Do Not Disturb Mode. |
| ` https://developer.android.com/reference/com/google/wear/modes/DowntimeMode` | ` https://developer.android.com/reference/com/google/wear/modes/ModeManager#getDowntimeMode()() ` Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/DowntimeMode` to control Downtime Mode or null if unavailable. |
| ` int` | ` https://developer.android.com/reference/com/google/wear/modes/ModeManager#getModeSupportStatus(java.lang.Class<?>)(Class<?> clazz) ` Gets the current support status for a given mode. |
| ` https://developer.android.com/reference/com/google/wear/modes/SchoolMode` | ` https://developer.android.com/reference/com/google/wear/modes/ModeManager#getSchoolMode()() ` Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/SchoolMode` to control School Mode or null if unavailable. |
| ` https://developer.android.com/reference/com/google/wear/modes/TheaterMode` | ` https://developer.android.com/reference/com/google/wear/modes/ModeManager#getTheaterMode()() ` Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/TheaterMode` to control Theater Mode. |
| ` https://developer.android.com/reference/com/google/wear/modes/TiltToWake` | ` https://developer.android.com/reference/com/google/wear/modes/ModeManager#getTiltToWake()() ` Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/TiltToWake` to control Tilt To Wake. |
| ` https://developer.android.com/reference/com/google/wear/modes/TouchLockMode` | ` https://developer.android.com/reference/com/google/wear/modes/ModeManager#getTouchLockMode()() ` Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/TouchLockMode` to control Touch Lock Mode or null if unavailable. |
| ` void` | ` https://developer.android.com/reference/com/google/wear/modes/ModeManager#removeModeSupportStatusListener(java.util.function.BiConsumer<java.lang.Class<?>,java.lang.Integer>)(BiConsumer<Class<?>, Integer> listener) ` Removes a previously added mode support status listener. |

| ### 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() ` | ||

## Constants

### MODE_SUPPORT_STATUS_NOT_SUPPORTED

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

```
public static final int MODE_SUPPORT_STATUS_NOT_SUPPORTED
```

The mode is not supported for the current user on this device.

<br />

Constant Value:

3
(0x00000003)


### MODE_SUPPORT_STATUS_SUPPORTED

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

```
public static final int MODE_SUPPORT_STATUS_SUPPORTED
```

The mode is actively supported for the current user on this device.

<br />

Constant Value:

2
(0x00000002)


### MODE_SUPPORT_STATUS_UNKNOWN

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

```
public static final int MODE_SUPPORT_STATUS_UNKNOWN
```

The support status cannot be determined at this time.

<br />

Constant Value:

1
(0x00000001)


## Fields

### FLAG_OVERRIDDEN_BY_BATTERY_SAVER_MODE

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

```
public static final long FLAG_OVERRIDDEN_BY_BATTERY_SAVER_MODE
```

Flag to check if the state of a mode or feature is being overridden by Battery Saver Mode.
This requires the permission to read the state of Battery Saver Mode (i.e. `https://developer.android.com/reference/com/google/wear/services/Permissions#READ_BATTERY_SAVER`)

<br />

### FLAG_OVERRIDDEN_BY_BEDTIME_MODE

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

```
public static final long FLAG_OVERRIDDEN_BY_BEDTIME_MODE
```

Flag to check if the state of a mode or feature is being overridden by Bedtime Mode. This
requires the permission to read the state of Bedtime Mode (i.e. `https://developer.android.com/reference/com/google/wear/services/Permissions#READ_FOCUS_MODES`)

<br />

### FLAG_OVERRIDDEN_BY_DOWNTIME_MODE

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

```
public static final long FLAG_OVERRIDDEN_BY_DOWNTIME_MODE
```

Flag to check if the state of a mode or feature is being overridden by Downtime Mode. This
requires the permission to read the state of Downtime Mode (i.e. `https://developer.android.com/reference/com/google/wear/services/Permissions#READ_FOCUS_MODES`)

<br />

### FLAG_OVERRIDDEN_BY_SCHOOL_MODE

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

```
public static final long FLAG_OVERRIDDEN_BY_SCHOOL_MODE
```

Flag to check if the state of a mode or feature is being overridden by School Mode. This
requires the permission to read the state of School Mode (i.e. `https://developer.android.com/reference/com/google/wear/services/Permissions#READ_FOCUS_MODES`)

<br />

### FLAG_OVERRIDDEN_BY_SCREEN_READER

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

```
public static final long FLAG_OVERRIDDEN_BY_SCREEN_READER
```

Flag to check if the state of a mode or feature is being overridden by screen reader

<br />

### FLAG_OVERRIDDEN_BY_THEATER_MODE

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

```
public static final long FLAG_OVERRIDDEN_BY_THEATER_MODE
```

Flag to check if the state of a mode or feature is being overridden by Theater Mode. This
requires the permission to read the state of Theater Mode (i.e. `https://developer.android.com/reference/com/google/wear/services/Permissions#READ_FOCUS_MODES`)

<br />

### FLAG_OVERRIDDEN_BY_UNKNOWN_REASON

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

```
public static final long FLAG_OVERRIDDEN_BY_UNKNOWN_REASON
```

Flag to check if the state of a mode or feature is being overridden but the reason is unknown

<br />

## Public methods

### addModeSupportStatusListener

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

```
public void addModeSupportStatusListener (Executor executor, 
                BiConsumer<Class<?>, Integer> listener)
```

Adds a listener to receive updates on mode support status.

The availability of optional modes can change at runtime. This listener mechanism allows
applications to react to such changes. The listener will be immediately invoked with the
current status for all supported modes upon registration.

The caller must hold the appropriate permission for any mode it wishes to receive
updates for. The listener will only receive events for modes where the caller holds
the required permission.

<br />

| Parameters ||
|---|---|
| `executor` | `Executor`: The executor on which to invoke the listener. <br /> |
| `listener` | `BiConsumer`: A `https://developer.android.com/reference/java/util/function/BiConsumer` that will receive the `https://developer.android.com/reference/java/lang/Class` and its new [integer status](https://developer.android.com/reference/com/google/wear/modes/ModeManager#constants_1). <br /> |

| Throws ||
|---|---|
| `SecurityException` | if the caller does not have the required permissions. |

**See also:**

- `https://developer.android.com/reference/com/google/wear/modes/ModeManager#removeModeSupportStatusListener(java.util.function.BiConsumer<java.lang.Class<?>,java.lang.Integer>)`

### getAmbientMode

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

```
public AmbientMode getAmbientMode ()
```

Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/AmbientMode` to control Ambient Mode.


Requires com.google.wear.services.Permissions.READ_DISPLAY_CONFIG

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/com/google/wear/modes/AmbientMode` | `https://developer.android.com/reference/com/google/wear/modes/AmbientMode` to control Ambient Mode <br /> |

| Throws ||
|---|---|
| `SecurityException` | if the caller does not have the permission to read Ambient Mode state |

### getBatterySaverMode

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

```
public BatterySaverMode getBatterySaverMode ()
```

Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/BatterySaverMode` to control Battery Saver Mode.


Requires com.google.wear.services.Permissions.READ_BATTERY_SAVER

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/com/google/wear/modes/BatterySaverMode` | `https://developer.android.com/reference/com/google/wear/modes/BatterySaverMode` to control Battery Saver Mode <br /> |

| Throws ||
|---|---|
| `SecurityException` | if the caller does not have the permission to read Battery Saver Mode state |

### getBedtimeMode

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

```
public BedtimeMode getBedtimeMode ()
```

Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/BedtimeMode` to control Bedtime Mode.


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

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/com/google/wear/modes/BedtimeMode` | `https://developer.android.com/reference/com/google/wear/modes/BedtimeMode` to control Bedtime Mode <br /> |

| Throws ||
|---|---|
| `SecurityException` | if the caller does not have the permission to read Bedtime Mode state |

### getDoNotDisturbMode

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

```
public DoNotDisturbMode getDoNotDisturbMode ()
```

Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode` to control Do Not Disturb Mode.


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

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode` | `https://developer.android.com/reference/com/google/wear/modes/DoNotDisturbMode` to control Do Not Disturb Mode <br /> |

| Throws ||
|---|---|
| `SecurityException` | if the caller does not have the permission to read Do Not Disturb Mode state |

### getDowntimeMode

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

```
public DowntimeMode getDowntimeMode ()
```

Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/DowntimeMode` to control Downtime Mode or null if unavailable.


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

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/com/google/wear/modes/DowntimeMode` | `https://developer.android.com/reference/com/google/wear/modes/DowntimeMode` to control Downtime Mode or null if Downtime Mode is not supported <br /> |

| Throws ||
|---|---|
| `SecurityException` | if the caller does not have the permission to read Downtime Mode state |

### getModeSupportStatus

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

```
public int getModeSupportStatus (Class<?> clazz)
```

Gets the current support status for a given mode.

Some modes are optional and may not be supported on all devices. This method, along with
`https://developer.android.com/reference/com/google/wear/modes/ModeManager#addModeSupportStatusListener(java.util.concurrent.Executor,%20java.util.function.BiConsumer<java.lang.Class<?>,java.lang.Integer>)`, is the recommended way to check for support,
especially for modes like `https://developer.android.com/reference/com/google/wear/modes/SchoolMode` and `https://developer.android.com/reference/com/google/wear/modes/DowntimeMode` whose availability can
change at runtime.

This method returns the status at the time of calling. To react to changes in the
support status (e.g., after device provisioning or when supervision is enabled),
applications should use `https://developer.android.com/reference/com/google/wear/modes/ModeManager#addModeSupportStatusListener(java.util.concurrent.Executor,%20java.util.function.BiConsumer<java.lang.Class<?>,java.lang.Integer>)`.

The caller must hold the appropriate permission for the specific mode being queried. If
the permission is not held, the status will be returned as
`https://developer.android.com/reference/com/google/wear/modes/ModeManager#MODE_SUPPORT_STATUS_UNKNOWN`.

<br />

| Parameters ||
|---|---|
| `clazz` | `Class`: The class representing the mode to query (e.g., `SchoolMode.class`). <br /> |

| Returns ||
|---|---|
| `int` | The current `ModeSupportStatus` for the given mode. This will be one of: - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#MODE_SUPPORT_STATUS_SUPPORTED`: The mode is available and can be used on the device for the current user. - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#MODE_SUPPORT_STATUS_NOT_SUPPORTED`: The mode is not available on this device. This can be due to hardware/software configuration or because a necessary condition is not met (e.g., device supervision is not enabled for a supervised mode). - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#MODE_SUPPORT_STATUS_UNKNOWN`: The support status could not be determined at this time. This can occur if the device has not completed its initial setup (OOBE), or if the calling app lacks the necessary permission to query the mode's status. . Value is one of the following: - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#MODE_SUPPORT_STATUS_UNKNOWN` - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#MODE_SUPPORT_STATUS_SUPPORTED` - `https://developer.android.com/reference/com/google/wear/modes/ModeManager#MODE_SUPPORT_STATUS_NOT_SUPPORTED` |

### getSchoolMode

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

```
public SchoolMode getSchoolMode ()
```

Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/SchoolMode` to control School Mode or null if unavailable.


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

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/com/google/wear/modes/SchoolMode` | `https://developer.android.com/reference/com/google/wear/modes/SchoolMode` to control School Mode or null if School Mode is not supported <br /> |

| Throws ||
|---|---|
| `SecurityException` | if the caller does not have the permission to read School Mode state |

### getTheaterMode

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

```
public TheaterMode getTheaterMode ()
```

Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/TheaterMode` to control Theater Mode.


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

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/com/google/wear/modes/TheaterMode` | `https://developer.android.com/reference/com/google/wear/modes/TheaterMode` to control Theater Mode <br /> |

| Throws ||
|---|---|
| `SecurityException` | if the caller does not have the permission to read Theater Mode state |

### getTiltToWake

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

```
public TiltToWake getTiltToWake ()
```

Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/TiltToWake` to control Tilt To Wake.


Requires com.google.wear.services.Permissions.READ_GESTURES_CONFIG

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/com/google/wear/modes/TiltToWake` | `https://developer.android.com/reference/com/google/wear/modes/TiltToWake` to control Tilt To Wake <br /> |

| Throws ||
|---|---|
| `SecurityException` | if the caller does not have the permission to read Tilt To Wake state |

### getTouchLockMode

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

```
public TouchLockMode getTouchLockMode ()
```

Gets the instance of `https://developer.android.com/reference/com/google/wear/modes/TouchLockMode` to control Touch Lock Mode or null if unavailable.


Requires com.google.wear.services.Permissions.READ_TOUCH_LOCK

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/com/google/wear/modes/TouchLockMode` | `https://developer.android.com/reference/com/google/wear/modes/TouchLockMode` to control Touch Lock Mode <br /> |

| Throws ||
|---|---|
| `SecurityException` | if the caller does not have the permission to read Touch Lock Mode state |

### removeModeSupportStatusListener

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

```
public void removeModeSupportStatusListener (BiConsumer<Class<?>, Integer> listener)
```

Removes a previously added mode support status listener.

If the listener is not currently registered, this method does nothing.

This method does not require any permissions to be held by the caller.

<br />

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

**See also:**

- `https://developer.android.com/reference/com/google/wear/modes/ModeManager#addModeSupportStatusListener(java.util.concurrent.Executor,%20java.util.function.BiConsumer<java.lang.Class<?>,java.lang.Integer>)`