TilesTimelineManager

public class TilesTimelineManager


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

TilesTimelineManager.Clock

Interface so this manager can retrieve the current time.

TilesTimelineManager.Listener

Type to listen for layout updates from a given timeline.

Public constructors

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

Default constructor.

Public methods

@Override @NonNull void

Tears down this Timeline Manager.

@NonNull void

Sets up this Timeline Manager.

Public constructors

TilesTimelineManager

public TilesTimelineManager(
    @NonNull AlarmManager alarmManager,
    @NonNull TilesTimelineManager.Clock clock,
    @NonNull TimelineBuilders.Timeline timeline,
    @NonNull 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.

@NonNull int token

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

@NonNull TilesTimelineManager.Listener listener

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

Public methods

close

@Override
@NonNull
public @Override void close()

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

init

@NonNull
public void init()

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