Skip to content

Commit b537de0

Browse files
dtarnawskytimbru31
andauthored
Fix: Allows events like lottieAnimationStart to fire when used in a Capacitor project (#438)
Co-authored-by: Tim Brust <[email protected]>
1 parent 4545d35 commit b537de0

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/android/LottieSplashScreen.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import android.os.Looper
1111
import android.util.Log
1212
import android.view.animation.AlphaAnimation
1313
import android.view.animation.Animation
14+
import android.webkit.WebView
1415
import android.widget.ImageView
1516
import com.airbnb.lottie.LottieAnimationView
1617
import com.airbnb.lottie.LottieComposition
@@ -272,11 +273,11 @@ class LottieSplashScreen : CordovaPlugin() {
272273
animationView.addAnimatorListener(
273274
object : Animator.AnimatorListener {
274275
override fun onAnimationStart(animation: Animator) {
275-
webView.engine?.evaluateJavascript("document.dispatchEvent(new Event('lottieAnimationStart'))") { }
276+
(webView.getView() as WebView).evaluateJavascript("document.dispatchEvent(new Event('lottieAnimationStart'))") { }
276277
}
277278

278279
override fun onAnimationEnd(animation: Animator) {
279-
webView.engine?.evaluateJavascript("document.dispatchEvent(new Event('lottieAnimationEnd'))") { }
280+
(webView.getView() as WebView).evaluateJavascript("document.dispatchEvent(new Event('lottieAnimationEnd'))") { }
280281
val hideAfterAnimationDone = preferences.getBoolean(
281282
"LottieHideAfterAnimationEnd",
282283
false
@@ -288,11 +289,11 @@ class LottieSplashScreen : CordovaPlugin() {
288289
}
289290

290291
override fun onAnimationCancel(animation: Animator) {
291-
webView.engine?.evaluateJavascript("document.dispatchEvent(new Event('lottieAnimationCancel'))") { }
292+
(webView.getView() as WebView).evaluateJavascript("document.dispatchEvent(new Event('lottieAnimationCancel'))") { }
292293
}
293294

294295
override fun onAnimationRepeat(animation: Animator) {
295-
webView.engine?.evaluateJavascript("document.dispatchEvent(new Event('lottieAnimationRepeat'))") { }
296+
(webView.getView() as WebView).evaluateJavascript("document.dispatchEvent(new Event('lottieAnimationRepeat'))") { }
296297
}
297298
}
298299
)

0 commit comments

Comments
 (0)