@Override public boolean setVisible(boolean visible, boolean restart) {
    // Sometimes, setVisible(false) gets called twice in a row. If we don't check wasNotVisibleAlready, we could
    // wind up clearing the onVisibleAction value for the second call.
    boolean wasNotVisibleAlready = !isVisible();
    boolean ret = super.setVisible(visible, restart);

    if (visible) {
      if (onVisibleAction == OnVisibleAction.PLAY) {
        playAnimation();
      } else if (onVisibleAction == OnVisibleAction.RESUME) {
        resumeAnimation();
      }
    } else {
      if (animator.isRunning()) {
        pauseAnimation();
        onVisibleAction = OnVisibleAction.RESUME;
      } else if (!wasNotVisibleAlready) {
        onVisibleAction = OnVisibleAction.NONE;
      }
    }
    return ret;
  }
By default, Lottie will look in src/assets/fonts/FONT_NAME.ttf
where FONT_NAME is the fFamily specified in your Lottie file.
If your fonts have a different extension, you can override the
default here.
<p>
Alternatively, you can use {@link #setFontAssetDelegate(FontAssetDelegate)}
for more control.

@see #setFontAssetDelegate(FontAssetDelegate)
lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java