diff --git a/wear/src/main/AndroidManifest.xml b/wear/src/main/AndroidManifest.xml index 770b6d95..e72edbe4 100644 --- a/wear/src/main/AndroidManifest.xml +++ b/wear/src/main/AndroidManifest.xml @@ -166,6 +166,21 @@ android:resource="@drawable/tile_preview" /> + + + + + + + + { + + val layout = + LayoutElementBuilders.Image.Builder() + .setWidth(dp(150f)) + .setHeight(dp(150f)) + .setResourceId(lottieResourceId) + .build() + + return Futures.immediateFuture( + Tile.Builder() + .setResourcesVersion(RESOURCES_VERSION) + .setTileTimeline(Timeline.fromLayoutElement(layout)) + .build() + ) + } + + override fun onTileResourcesRequest( + requestParams: ResourcesRequest + ): ListenableFuture { + + val lottieImage = + ResourceBuilders.ImageResource.Builder() + .setAndroidLottieResourceByResId( + ResourceBuilders.AndroidLottieResourceByResId.Builder(R.raw.lottie) + .setStartTrigger(createOnVisibleTrigger()) + .build() + ) + .build() + + return Futures.immediateFuture( + Resources.Builder() + .setVersion(requestParams.version) + .addIdToImageMapping(lottieResourceId, lottieImage) + .build() + ) + } +} +// [END android_wear_tile_animations_lottie] diff --git a/wear/src/main/res/raw/lottie.json b/wear/src/main/res/raw/lottie.json new file mode 100644 index 00000000..8725aba5 --- /dev/null +++ b/wear/src/main/res/raw/lottie.json @@ -0,0 +1,240 @@ +{ + "v": "5.12.2", + "fr": 29.9700012207031, + "ip": 0, + "op": 149.000006068894, + "w": 256, + "h": 256, + "nm": "TestLotties", + "ddd": 0, + "assets": [], + "layers": [ + { + "ddd": 0, + "ind": 1, + "ty": 4, + "nm": "Shape Layer 1", + "sr": 1, + "ks": { + "o": { + "a": 0, + "k": 100, + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [128, 128, 0], + "ix": 2, + "l": 2 + }, + "a": { + "a": 0, + "k": [0, 0, 0], + "ix": 1, + "l": 2 + }, + "s": { + "a": 0, + "k": [100, 100, 100], + "ix": 6, + "l": 2 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ty": "rc", + "d": 1, + "s": { + "a": 0, + "k": [147.598, 101.668], + "ix": 2 + }, + "p": { + "a": 0, + "k": [0, 0], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 4 + }, + "nm": "Rectangle Path 1", + "mn": "ADBE Vector Shape - Rect", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.373262771906, 0.896561446844, 0.9078125, 1], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "bm": 0, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 1, + "k": [ + { + "i": { + "x": 0.833, + "y": 0.833 + }, + "o": { + "x": 0.167, + "y": 0.167 + }, + "t": 89, + "s": [-3.201, -3.166], + "to": [0, 0], + "ti": [0, 0] + }, + { + "t": 118.000004806239, + "s": [-61.201, 57.834] + } + ], + "ix": 2 + }, + "a": { + "a": 1, + "k": [ + { + "i": { + "x": 0.833, + "y": 0.833 + }, + "o": { + "x": 0.167, + "y": 0.167 + }, + "t": 60, + "s": [26, 10], + "to": [0, 0], + "ti": [0, 0] + }, + { + "t": 89.0000036250443, + "s": [1, 45] + } + ], + "ix": 1 + }, + "s": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833, 0.833], + "y": [0.833, 0.833] + }, + "o": { + "x": [0.167, 0.167], + "y": [0.167, 0.167] + }, + "t": 118, + "s": [57, 126] + }, + { + "t": 146.000005946702, + "s": [107, 69] + } + ], + "ix": 3 + }, + "r": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "t": 28, + "s": [18] + }, + { + "t": 60.0000024438501, + "s": [60] + } + ], + "ix": 6 + }, + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "t": 0, + "s": [48] + }, + { + "t": 28.0000011404634, + "s": [100] + } + ], + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Rectangle 1", + "np": 3, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 900.000036657751, + "st": 0, + "ct": 1, + "bm": 0 + } + ], + "markers": [], + "props": {} +}