Summary: Ctors | Methods | Inherited Methods | [Expand All]

# WatchFaceService.Engine

`public abstract class WatchFaceService.Engine`
`` `extends WallpaperService.Engine` ``

java.lang.Object
↳ | android.service.wallpaper.WallpaperService.Engine
| ↳ | android.support.wearable.watchface.WatchFaceService.Engine

Known Direct Subclasses CanvasWatchFaceService.Engine, Gles2WatchFaceService.Engine
CanvasWatchFaceService.Engine | The actual implementation of a watch face that draws on a `Canvas`.
Gles2WatchFaceService.Engine | The actual implementation of a watch face that draws using OpenGL ES 2.0.

The actual implementation of a watch face. You must implement `onCreateEngine()` to return your concrete Engine implementation.

## Summary

### Public constructors
`WatchFaceService.Engine()`

### Public methods
`final int` | `getInterruptionFilter()` Returns interruption filter selected by the user.
`final int` | `getNotificationCount()` Returns the total number of notification cards in the stream.
`final Rect` | `getPeekCardPosition()` Returns the location of the first peeking card.
`final int` | `getUnreadCount()` Returns the number of unread notification cards in the stream.
`final boolean` | `isInAmbientMode()` Returns whether the watch face is in ambient mode.
`void` | `onAmbientModeChanged(boolean inAmbientMode)` Called when the device enters or exits ambient mode.
`Bundle` | `onCommand(String action, int x, int y, int z, Bundle extras, boolean resultRequested)`
`void` | `onCreate(SurfaceHolder holder)`
`void` | `onDestroy()`
`void` | `onInterruptionFilterChanged(int interruptionFilter)` Called when the user changes interruption filter.
`void` | `onNotificationCountChanged(int count)` Called when the total number of notification cards in the stream has changed.
`void` | `onPeekCardPositionUpdate(Rect rect)` Called when the first, peeking card positions itself on the screen.
`void` | `onPropertiesChanged(Bundle properties)` Called when the properties of the device are determined.
`void` | `onTapCommand(int tapType, int x, int y, long eventTime)` Called when a tap or touch related event occurs.
`void` | `onTimeTick()` Called periodically to update the time shown by the watch face.
`void` | `onUnreadCountChanged(int count)` Called when the number of unread notification cards in the stream has changed.
`void` | `onVisibilityChanged(boolean visible)` Called to inform you of the watch face becoming visible or hidden.
`void` | `setWatchFaceStyle(WatchFaceStyle watchFaceStyle)` Sets the watch face style.

### Inherited methods
From class `android.service.wallpaper.WallpaperService.Engine`
`void` | `dump(String arg0, FileDescriptor arg1, PrintWriter arg2, String[] arg3)`
`int` | `getDesiredMinimumHeight()`
`int` | `getDesiredMinimumWidth()`
`SurfaceHolder` | `getSurfaceHolder()`
`boolean` | `isPreview()`
`boolean` | `isVisible()`
`void` | `onApplyWindowInsets(WindowInsets arg0)`
`Bundle` | `onCommand(String arg0, int arg1, int arg2, int arg3, Bundle arg4, boolean arg5)`
`void` | `onCreate(SurfaceHolder arg0)`
`void` | `onDesiredSizeChanged(int arg0, int arg1)`
`void` | `onDestroy()`
`void` | `onOffsetsChanged(float arg0, float arg1, float arg2, float arg3, int arg4, int arg5)`
`void` | `onSurfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3)`
`void` | `onSurfaceCreated(SurfaceHolder arg0)`
`void` | `onSurfaceDestroyed(SurfaceHolder arg0)`
`void` | `onSurfaceRedrawNeeded(SurfaceHolder arg0)`
`void` | `onTouchEvent(MotionEvent arg0)`
`void` | `onVisibilityChanged(boolean arg0)`
`void` | `setFixedSizeAllowed(boolean arg0)`
`void` | `setOffsetNotificationsEnabled(boolean arg0)`
`void` | `setTouchEventsEnabled(boolean arg0)`
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 constructors

### WatchFaceService.Engine

    WatchFaceService.Engine ()

## Public methods

### getInterruptionFilter

    int getInterruptionFilter ()

Returns interruption filter selected by the user.

Returns
`int` | `INTERRUPTION_FILTER_NONE`, `INTERRUPTION_FILTER_PRIORITY`, `INTERRUPTION_FILTER_ALL`, `INTERRUPTION_FILTER_ALARMS`, or `INTERRUPTION_FILTER_UNKNOWN`.

### getNotificationCount

    int getNotificationCount ()

Returns the total number of notification cards in the stream.

Returns
`int` |

### getPeekCardPosition

    Rect getPeekCardPosition ()

Returns the location of the first peeking card. This doesn't provide information about all movements of the card, only about its location when it's peeking at the bottom and allowing the watch face to be exposed.

Returns
`Rect` |

### getUnreadCount

    int getUnreadCount ()

Returns the number of unread notification cards in the stream.

Returns
`int` |

### isInAmbientMode

    boolean isInAmbientMode ()

Returns whether the watch face is in ambient mode. When true, the watch face should display in white on black.

Returns
`boolean` |

### onAmbientModeChanged

    void onAmbientModeChanged (boolean inAmbientMode)

Called when the device enters or exits ambient mode. The watch face should switch to a black and white display in ambient mode. If the watch face displays seconds, it should hide them in ambient mode.

Parameters
`inAmbientMode` | `boolean`

### onCommand

    Bundle onCommand (String action,
                    int x,
                    int y,
                    int z,
                    Bundle extras,
                    boolean resultRequested)

Parameters
`action` | `String`
`x` | `int`
`y` | `int`
`z` | `int`
`extras` | `Bundle`
`resultRequested` | `boolean`

Returns
`Bundle` |

### onCreate

    void onCreate (SurfaceHolder holder)

Parameters
`holder` | `SurfaceHolder`

### onDestroy

    void onDestroy ()

### onInterruptionFilterChanged

    void onInterruptionFilterChanged (int interruptionFilter)

Called when the user changes interruption filter. The watch face should adjust the amount of information it displays. For example, if it displays the number of pending emails, it should hide it if interruptionFilter is equal to `INTERRUPTION_FILTER_NONE`. `interruptionFilter` can be `INTERRUPTION_FILTER_NONE`, `INTERRUPTION_FILTER_PRIORITY`, `INTERRUPTION_FILTER_ALL`, `INTERRUPTION_FILTER_ALARMS`, or `INTERRUPTION_FILTER_UNKNOWN`.

Parameters
`interruptionFilter` | `int`

### onNotificationCountChanged

    void onNotificationCountChanged (int count)

Called when the total number of notification cards in the stream has changed.

Parameters
`count` | `int`: total number of the notification cards in the stream

### onPeekCardPositionUpdate

    void onPeekCardPositionUpdate (Rect rect)

Called when the first, peeking card positions itself on the screen. This is where the watch face can change its appearance depending on where the card is on the screen. This doesn't provide information about all movements of the card, only about its location when it's peeking at the bottom and allowing the watch face to be exposed.

Parameters
`rect` | `Rect`

### onPropertiesChanged

    void onPropertiesChanged (Bundle properties)

Called when the properties of the device are determined. These include `PROPERTY_BURN_IN_PROTECTION` and `PROPERTY_LOW_BIT_AMBIENT`.

Parameters
`properties` | `Bundle`: a bundle containing the hardware properties

### onTapCommand

    void onTapCommand (int tapType,
                    int x,
                    int y,
                    long eventTime)

Called when a tap or touch related event occurs.

Parameters
`tapType` | `int`: Value representing the event sent to the wallpaper.
`x` | `int`: X coordinate of the event.
`y` | `int`: Y coordinate of the event.
`eventTime` | `long`: The time, in millis, of the event.

### onTimeTick

    void onTimeTick ()

Called periodically to update the time shown by the watch face. This method is called:

- at least once per minute in both ambient and interactive modes
- when date or time has changed
- when timezone has changed

### onUnreadCountChanged

    void onUnreadCountChanged (int count)

Called when the number of unread notification cards in the stream has changed.

Parameters
`count` | `int`: number of the notification cards in the stream that haven't yet been seen by the user

### onVisibilityChanged

    void onVisibilityChanged (boolean visible)

Called to inform you of the watch face becoming visible or hidden. If you decide to override this method, you must call `super.onVisibilityChanged(visible)` as the first statement in your override.

Parameters
`visible` | `boolean`

### setWatchFaceStyle

    void setWatchFaceStyle (WatchFaceStyle watchFaceStyle)

Sets the watch face style. This affects how UI elements such as the battery indicator are drawn on top of the watch face. Typically called in `onCreate(SurfaceHolder)` but may be called at any time, e.g. in response to the user changing the watch face configuration. Must be called from the wallpaper thread.

Parameters
`watchFaceStyle` | `WatchFaceStyle`

- ## Annotations

  - WatchFaceService.TapType

- ## Classes

  - CanvasWatchFaceService
  - CanvasWatchFaceService.Engine
  - Gles2WatchFaceService
  - Gles2WatchFaceService.Engine
  - WatchFaceService
  - WatchFaceService.Engine
  - WatchFaceStyle
  - WatchFaceStyle.Builder