Wear Tiles

Create applications for Wear OS by Google smartwatches.
Latest Update Current Stable Release Next Release Candidate Beta Release Alpha Release
October 27, 2021 - 1.0.0-rc01 - -

Declaring dependencies

To add a dependency on Wear, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.

Add the dependencies for the artifacts you need in the build.gradle file for your app or module:

Groovy

dependencies {
    // Use to implement support for wear tiles
    implementation "androidx.wear.tiles:tiles:1.0.0-rc01"

    // Use to preview wear tiles in your own app
    debugImplementation "androidx.wear.tiles:tiles-renderer:1.0.0-rc01"
}

Kotlin

dependencies {
    // Use to implement support for wear tiles
    implementation("androidx.wear.tiles:tiles:1.0.0-rc01")

    // Use to preview wear tiles in your own app
    debugImplementation("androidx.wear.tiles:tiles-renderer:1.0.0-rc01")
}

For more information about dependencies, see Add build dependencies.

Feedback

Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.

Create a new issue

See the Issue Tracker documentation for more information.

Version 1.0

Version 1.0.0-rc01

October 27, 2021

androidx.wear.tiles:tiles-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.

Version 1.0.0-beta01

October 13, 2021

androidx.wear.tiles:tiles-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.

Bug Fixes

  • Fixed NullPointerException in TileUiClient when an empty resource version was provided. (I0586e)

Version 1.0.0-alpha12

September 29, 2021

androidx.wear.tiles:tiles-*:1.0.0-alpha12 is released. Version 1.0.0-alpha12 contains these commits.

Bug Fixes

  • UpdateScheduler no longer uses a weak reference, fixing issues where TileUiClient would not update(I1120d, b/199061124)

  • Declare that SysUiTileUpdateRequester queries PacakgeManager, fixing a bug where tile updates would not work on R+ devices. (I1120d)

Version 1.0.0-alpha11

September 1, 2021

androidx.wear.tiles:tiles-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits.

New Features

  • Added and released a testing library, androidx.wear.tiles:tiles-testing library to enable developers to test their tiles more easily. (Iedb6b)

API Changes

  • Renamed TileProviderService to TileService. (I1ad2c)
  • Tiles builders updated; static .builder() methods have been deprecated in favour of calling new Foo.Builder(), and setter overloads which accepted a Builder instance have been removed. (Ia9606)
  • TileRenderer should now use a UI context, instead of the application context. (I84b61)

Bug Fixes

  • Fix bug causing multiple underlines to be applied in certain situations. (Ib6712)

Version 1.0.0-alpha10

August 18, 2021

androidx.wear.tiles:tiles:1.0.0-alpha10, androidx.wear.tiles:tiles-proto:1.0.0-alpha10, and androidx.wear.tiles:tiles-renderer:1.0.0-alpha10 are released. Version 1.0.0-alpha10 contains these commits.

API Changes

  • Removed layout checkers from public API. These will always be enabled, although will only raise a warning if a check fails. (Ie9f29)
  • TileRenderer now accepts a UI context, instead of the Application Context.

Bug Fixes

  • Fixed bug which prevented clickable elements in a Spannable from being clicked.

Version 1.0.0-alpha09

July 21, 2021

androidx.wear.tiles:tiles:1.0.0-alpha09, androidx.wear.tiles:tiles-proto:1.0.0-alpha09, and androidx.wear.tiles:tiles-renderer:1.0.0-alpha09 are released. Version 1.0.0-alpha09 contains these commits.

New Features

  • Added layout checkers to Wear Tiles' renderer. (I3a869)
    • These are used to validate best practises in your tile. To begin with, these will raise a warning if your tile does not contain any elements with a Semantics modifier.
  • Added documentation for DefaultTileProviderClient and TestingTileProviderClient constructors. (I9f4b9)

API Changes

  • Renaming in TileProviderClient (I0ec36):
    • getApiVersion -> requestApiVersion
    • tile/resourcesRequest -> requestTile/Resources
    • onTileFooEvent -> sendOnTileFooEvent
  • Added layout checkers to Wear Tiles' renderer. (I3a869)

Bug Fixes

  • Ensure that a LaunchAction target does not have special permissions. (I39136)

Version 1.0.0-alpha08

June 30, 2021

androidx.wear.tiles:tiles:1.0.0-alpha08, androidx.wear.tiles:tiles-proto:1.0.0-alpha08, and androidx.wear.tiles:tiles-renderer:1.0.0-alpha08 are released. Version 1.0.0-alpha08 contains these commits.

New Features

  • Spannables now support line_height instead of line_spacing.

API Changes

  • Add support for line_height in Spannables, remove line_spacing. (Ibeb54)
    • Code using line_spacing should be ported to use line_height instead.

Bug Fixes

  • Fix bug when using proportional dimensions. (I37ace)
  • Fix bug preventing Text elements having content descriptions. (Id2c7d)

Version 1.0.0-alpha07

June 16, 2021

androidx.wear.tiles:tiles:1.0.0-alpha07, androidx.wear.tiles:tiles-proto:1.0.0-alpha07, and androidx.wear.tiles:tiles-renderer:1.0.0-alpha07 are released. Version 1.0.0-alpha07 contains these commits.

API Changes

  • Add TileProviderClient interface, and expose DefaultTileProviderClient, allowing implementations to bind to a TileProviderService interface. (I69165)

Version 1.0.0-alpha06

June 2, 2021

androidx.wear.tiles:tiles:1.0.0-alpha06, androidx.wear.tiles:tiles-proto:1.0.0-alpha06, and androidx.wear.tiles:tiles-renderer:1.0.0-alpha06 are released. Version 1.0.0-alpha06 contains these commits.

API Changes

  • All Builder classes now contain getters for all properties. Note that these are intended for testing purposes only (I9d155)
  • Package change: Classes in androidx.wear.tiles.builders have been moved to androidx.wear.tiles.
  • Add experimental tint support to Tiles. (I38929)
  • Renamed LayoutElementBuilders.HALIGN_* to LayoutElementBuilders.HORIZONTAL_ALIGN_* (I67e58)
  • Renamed LayoutElementBuilders.VALIGN_* to LayoutElementBuilders.VERTICAL_ALIGN_* (I67e58)
  • Renamed LayoutElementBuilders.SPAN_VALIGN_* to LayoutElementBuilders.SPAN_VERTICAL_ALIGN_* (I67e58)
  • Added builder classes for Requests and Events. (Ib5cf4)
  • Migrated TileProviderService to use request and event classes from RequestBuilders and EventBuilders, rather than RequestReaders/EventReaders (e.g. onTileRequest now provides you with a RequestBuilders.TileRequest, rather than RequestReaders.TileRequest). (I46ea1)

Bug Fixes

  • Fix bug in async image loading for Tiles renderer. (Iad9b0)
  • Fixed layout bug when placing an image with width or height set to expand() in a Box with width or height set to wrap(). (I33770)

Version 1.0.0-alpha05

May 18, 2021

androidx.wear.tiles:tiles:1.0.0-alpha05, androidx.wear.tiles:tiles-proto:1.0.0-alpha05, and androidx.wear.tiles:tiles-renderer:1.0.0-alpha05 are released. Version 1.0.0-alpha05 contains these commits.

API Changes

  • Removed getTileId from incoming tile events (TileAddEvent, TileRemoveEvent, TileEnterEvent, TileLeaveEvent, TileRequest). (Ifbba2)
  • Renamed ImageResource#setAndroidResourceByResid to setAndroidResourceByResId (I4ba6e)
  • Renamed TimelineManager#deInit to close, and implemented AutoCloseable. (I5dff2)

Version 1.0.0-alpha04

May 5, 2021

androidx.wear.tiles:tiles:1.0.0-alpha04, androidx.wear.tiles:tiles-proto:1.0.0-alpha04, and androidx.wear.tiles:tiles-renderer:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits.

API Changes

  • Hidden concrete TileProviderService classes.
    • Made TileUpdateRequester take a Class<? extends TileProviderService>. (Ib7cca)
  • Added ability to add extras to AndroidActivity. (I748f4)

Tiles Version 1.0.0-alpha03

April 21, 2021

androidx.wear.tiles:tiles:1.0.0-alpha03, androidx.wear.tiles:tiles-proto:1.0.0-alpha03, and androidx.wear.tiles:tiles-renderer:1.0.0-alpha03 are released. Version 1.0.0-alpha03 contains these commits.

API Changes

  • Rename TileManager -> TileClient
    • Rename TileManager#create -> TileClient#connect (I91839)

Bug Fixes

  • Added Proguard rules to ensure tiles and tiles-renderer work properly with Proguard enabled (Ie3d85)

Version 1.0.0-alpha02

April 7, 2021

androidx.wear.tiles:tiles:1.0.0-alpha02, androidx.wear.tiles:tiles-proto:1.0.0-alpha02, and androidx.wear.tiles:tiles-renderer:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits.

API Changes

  • androidx.wear:wear-tiles has moved groups, and should now be referred to as androidx.wear.tiles:tiles
  • androidx.wear:wear-tiles-renderer has moved groups, and should now be referred to as androidx.wear.tiles:tiles-renderer
  • TileRenderer.LoadActionListener now consumes an instance of androidx.wear.tiles.builders.StateBuilders.State rather than androidx.wear.tiles.proto.StateProto.State.
  • TileRenderer now accepts Tile resources from androidx.wear.tiles.builders.ResourceBuilders.Resources, rather than an instance of androidx.wear.tiles.renderer.ResourceAccessors.

Bug Fixes

  • Fixed inability to use LoadActionListener, as it exposed an internal class.

Version 1.0.0-alpha01

March 10, 2021

androidx.wear:wear-tiles:1.0.0-alpha01, androidx.wear:wear-tiles-proto:1.0.0-alpha01, and androidx.wear:wear-tiles-renderer:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.

New Features

  • The Wear Tiles Renderer library provides functionality to build custom Tiles for Wear OS devices, along with the classes that allow the system to fetch your Tile and display it right next to your watch face.