diff --git a/wear/src/main/AndroidManifest.xml b/wear/src/main/AndroidManifest.xml
index 02b60438..a585fb70 100644
--- a/wear/src/main/AndroidManifest.xml
+++ b/wear/src/main/AndroidManifest.xml
@@ -181,6 +181,21 @@
android:resource="@drawable/tile_preview" />
+
+
+
+
+
+
+
+
{
+
+ // [START android_wear_tile_version_fallback]
+ val rendererVersion = requestParams.deviceConfiguration.rendererSchemaVersion
+
+ val arcElement =
+ // DashedArcLine has the annotation @RequiresSchemaVersion(major = 1, minor = 500)
+ // and so is supported by renderer versions 1.500 and greater
+ if (
+ rendererVersion.major > 1 ||
+ (rendererVersion.major == 1 && rendererVersion.minor >= 500)
+ ) {
+ // Use DashedArcLine if the renderer supports it …
+ DashedArcLine.Builder()
+ .setLength(degrees(270f))
+ .setThickness(8f)
+ .setLinePattern(
+ LayoutElementBuilders.DashedLinePattern.Builder()
+ .setGapSize(8f)
+ .setGapInterval(10f)
+ .build()
+ )
+ .build()
+ } else {
+ // … otherwise use ArcLine.
+ ArcLine.Builder().setLength(degrees(270f)).setThickness(dp(8f)).build()
+ }
+ // [END android_wear_tile_version_fallback]
+
+ val layout =
+ materialScope(this, requestParams.deviceConfiguration) {
+ primaryLayout(mainSlot = { Arc.Builder().addContent(arcElement).build() })
+ }
+
+ return Futures.immediateFuture(
+ Tile.Builder().setTileTimeline(Timeline.fromLayoutElement(layout)).build()
+ )
+ }
+}