Skip to content

Commit bd3ee36

Browse files
authored
Merge branch 'main' into khufdev-wear-os-timeline-complication
2 parents 47c055f + 5673ffc commit bd3ee36

File tree

2 files changed

+53
-3
lines changed

2 files changed

+53
-3
lines changed

wear/src/main/java/com/example/wear/snippets/tile/Animations.kt

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
}
15.6 KB
Loading

0 commit comments

Comments
 (0)