Added in version 36.1

DowntimeMode

public class DowntimeMode
extends Object

java.lang.Object
   ↳ com.google.wear.modes.DowntimeMode


This class provides APIs for managing Downtime Mode on Wear. It is a system-level feature that enables users to temporarily disconnect from distracting features and prioritize their well-being or other activities.

When enabled, Downtime mode can:

  • Silence or block notifications from apps and other sources.
  • Restrict access to specific apps or categories of apps.
  • Apply visual adjustments, such as grayscale mode, to reduce the visual appeal of the device.
An instance of this class can be obtained by ModeManager.getDowntimeMode() API.

Summary

Public methods

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

Adds a listener to listen for the changes in the active value of downtime mode.

long getOverriddenReasons()

This method allows checking for the reason behind the state of downtime mode being overridden.

boolean isActive()

Gets whether downtime mode is active or not.

boolean isConfigured()

Gets the configured value of downtime mode.

boolean isOverridden()

Determine if the state of downtime mode is overridden or not.

void removeIsActiveListener(Consumer<Boolean> listener)

This removes the previously added listener.

void setConfigured(boolean value)

Sets the configured value of downtime mode.

Inherited methods

Public methods

addIsActiveListener

Added in version 36.1
public void addIsActiveListener (Executor executor, 
                Consumer<Boolean> listener)

Adds a listener to listen for the changes in the active value of downtime 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 isActive() method and the value the listener is triggered with should be treated as the latest active value.

Note: This should be balanced with removeIsActiveListener(Consumer) to prevent memory leaks.
Requires com.google.wear.services.Permissions.READ_FOCUS_MODES

Parameters
executor Executor: The listener will be triggered on this Executor

listener Consumer: The listener to add

getOverriddenReasons

Added in version 36.1
public long getOverriddenReasons ()

This method allows checking for the reason behind the state of downtime mode being overridden. See isOverridden() for details.

This method returns a flag (defined in ModeManager) comprising reason(s) indicating the factors playing a role in overriding the state of downtime 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 ModeManager.FLAG_OVERRIDDEN_BY_UNKNOWN_REASON indicating an unknown cause behind the state of downtime mode being overridden.
Requires com.google.wear.services.Permissions.READ_FOCUS_MODES

Returns
long the combination of flags defined in ModeManager specifying the cause behind the state of downtime mode being overridden. Returned value of OL implies that the state of downtime mode is not overridden.
Value is either 0 or a combination of the following:

isActive

Added in version 36.1
public boolean isActive ()

Gets whether downtime mode is active or not.

This is the active value of downtime mode in effect as reflected on the device. It is 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 addIsActiveListener(Executor,Consumer).
Requires com.google.wear.services.Permissions.READ_FOCUS_MODES

Returns
boolean true if downtime mode is active, else false

isConfigured

Added in version 36.1
public boolean isConfigured ()

Gets the configured value of downtime mode.

This reflects the default configured value of downtime mode and is set via setConfigured(boolean).

Note: If the state of downtime mode is overridden (isOverridden()), this may differ from the active value. See isOverridden() for details.
Requires com.google.wear.services.Permissions.READ_FOCUS_MODES

Returns
boolean the configured value of downtime mode

isOverridden

Added in version 36.1
public boolean isOverridden ()

Determine if the state of downtime mode is overridden or not.

Downtime 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 downtime mode
  • Or the configured values of all other modes

The state of downtime 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

Returns
boolean true if the state of downtime mode is overridden, i.e. updating configured value does not update the active value

removeIsActiveListener

Added in version 36.1
public void removeIsActiveListener (Consumer<Boolean> listener)

This removes the previously added listener.

Parameters
listener Consumer: The listener to remove

setConfigured

Added in version 36.1
public void setConfigured (boolean value)

Sets the configured value of downtime mode.
Requires com.google.wear.services.Permissions.WRITE_FOCUS_MODES

Parameters
value boolean: true to enable downtime mode