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() + ) + } +}