@@ -271,9 +271,7 @@ class AnimationScaling : TileService() {
271271 // Shrink the element by a scale factor
272272 // of 0.5 horizontally and 0.75 vertically.
273273 .setScaleX(FloatProp .Builder (0.5f ).build())
274- .setScaleY(
275- FloatProp .Builder (0.75f ).build()
276- )
274+ .setScaleY(FloatProp .Builder (0.75f ).build())
277275 .build()
278276 )
279277 .build()
@@ -361,4 +359,56 @@ class LottieAnimation : TileService() {
361359 )
362360 }
363361}
362+
364363// [END android_wear_tile_animations_lottie]
364+
365+ class LottieAnimationFallback : TileService () {
366+
367+ val lottieResourceId = " lottie_animation"
368+
369+ override fun onTileRequest (requestParams : RequestBuilders .TileRequest ): ListenableFuture <Tile > {
370+
371+ val layout =
372+ LayoutElementBuilders .Image .Builder ()
373+ .setWidth(dp(150f ))
374+ .setHeight(dp(150f ))
375+ .setResourceId(lottieResourceId)
376+ .build()
377+
378+ return Futures .immediateFuture(
379+ Tile .Builder ()
380+ .setResourcesVersion(RESOURCES_VERSION )
381+ .setTileTimeline(Timeline .fromLayoutElement(layout))
382+ .build()
383+ )
384+ }
385+
386+ override fun onTileResourcesRequest (
387+ requestParams : ResourcesRequest
388+ ): ListenableFuture <Resources > {
389+
390+ // [START android_wear_tile_animations_lottie_fallback]
391+ val lottieImage =
392+ ResourceBuilders .ImageResource .Builder ()
393+ .setAndroidLottieResourceByResId(
394+ ResourceBuilders .AndroidLottieResourceByResId .Builder (R .raw.lottie)
395+ .setStartTrigger(createOnVisibleTrigger())
396+ .build()
397+ )
398+ // Fallback if lottie is not supported
399+ .setAndroidResourceByResId(
400+ ResourceBuilders .AndroidImageResourceByResId .Builder ()
401+ .setResourceId(R .drawable.lottie_fallback)
402+ .build()
403+ )
404+ .build()
405+ // [END android_wear_tile_animations_lottie_fallback]
406+
407+ return Futures .immediateFuture(
408+ Resources .Builder ()
409+ .setVersion(requestParams.version)
410+ .addIdToImageMapping(lottieResourceId, lottieImage)
411+ .build()
412+ )
413+ }
414+ }
0 commit comments