public static LottieTask<LottieComposition> fromAsset(Context context, final String fileName, @Nullable final String cacheKey) {
    // Prevent accidentally leaking an Activity.
    final Context appContext = context.getApplicationContext();
    return cache(cacheKey, () -> fromAssetSync(appContext, fileName, cacheKey), null);
  }
Parse an animation from src/main/assets. It is recommended to use {@link #fromRawRes(Context, int)} instead.
The asset file name will be used as a cache key so future usages won't have to parse the json again.
However, if your animation has images, you may package the json and images as a single flattened zip file in assets.
<p>
Pass null as the cache key to skip the cache.

@see #fromZipStream(ZipInputStream, String)
lottie/src/main/java/com/airbnb/lottie/LottieCompositionFactory.java