TilesTimelineManager

public class TilesTimelineManager implements AutoCloseable


Manager for a single Wear Tiles timeline.

This handles the dispatching of single Tile layouts from a full timeline. It will set the correct alarms to detect when a layout should be updated, and dispatch it to its listener.

Summary

Nested types

Interface so this manager can retrieve the current time.

Type to listen for layout updates from a given timeline.

This interface is deprecated.

Use LayoutUpdateListener instead.

Public constructors

TilesTimelineManager(
    @NonNull AlarmManager alarmManager,
    @NonNull TilesTimelineManager.Clock clock,
    @NonNull TimelineBuilders.Timeline timeline,
    int token,
    @NonNull Executor listenerExecutor,
    @NonNull TilesTimelineManager.LayoutUpdateListener listener
)

Default constructor.

TilesTimelineManager(
    @NonNull AlarmManager alarmManager,
    @NonNull TilesTimelineManager.Clock clock,
    @NonNull TimelineBuilders.Timeline timeline,
    int token,
    @NonNull Executor listenerExecutor,
    @NonNull TilesTimelineManager.Listener listener
)

This method is deprecated.

Use TilesTimelineManager instead.

Public methods

void

Tears down this Timeline Manager.

void

Sets up this Timeline Manager.

Public constructors

TilesTimelineManager

Added in 1.2.0
public TilesTimelineManager(
    @NonNull AlarmManager alarmManager,
    @NonNull TilesTimelineManager.Clock clock,
    @NonNull TimelineBuilders.Timeline timeline,
    int token,
    @NonNull Executor listenerExecutor,
    @NonNull TilesTimelineManager.LayoutUpdateListener listener
)

Default constructor.

Parameters
@NonNull AlarmManager alarmManager

An AlarmManager instance suitable for setting RTC alarms on.

@NonNull TilesTimelineManager.Clock clock

A Clock to use to ascertain the current time (and hence which tile to show). This should be synchronized to the same clock as used by alarmManager

@NonNull TimelineBuilders.Timeline timeline

The Tiles timeline to use.

int token

A token, which will be passed to listener's callback.

@NonNull Executor listenerExecutor

the executor for listener

@NonNull TilesTimelineManager.LayoutUpdateListener listener

A listener instance, called when a new timeline entry is available.

TilesTimelineManager

Added in 1.0.0
Deprecated in 1.2.0
public TilesTimelineManager(
    @NonNull AlarmManager alarmManager,
    @NonNull TilesTimelineManager.Clock clock,
    @NonNull TimelineBuilders.Timeline timeline,
    int token,
    @NonNull Executor listenerExecutor,
    @NonNull TilesTimelineManager.Listener listener
)

Default constructor.

Parameters
@NonNull AlarmManager alarmManager

An AlarmManager instance suitable for setting RTC alarms on.

@NonNull TilesTimelineManager.Clock clock

A Clock to use to ascertain the current time (and hence which tile to show). This should be synchronized to the same clock as used by alarmManager

@NonNull TimelineBuilders.Timeline timeline

The Tiles timeline to use.

int token

A token, which will be passed to listener's callback.

@NonNull Executor listenerExecutor

the executor for listener

@NonNull TilesTimelineManager.Listener listener

A listener instance, called when a new timeline entry is available.

Public methods

close

Added in 1.0.0
public void close()

Tears down this Timeline Manager. This will ensure any set alarms are cleared up.

init

Added in 1.0.0
public void init()

Sets up this Timeline Manager. This will cause the timeline manager to dispatch the first layout, and set its first alarm.