blob: b2352d629709224c3b3bdd1f3147ae2fc4348f55 [file] [log] [blame]
package com.airbnb.lottie.samples
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.airbnb.lottie.LottieComposition
import com.airbnb.lottie.LottieCompositionFactory
import com.airbnb.lottie.LottieDrawable
import com.airbnb.lottie.samples.databinding.SimpleAnimationActivityBinding
import com.airbnb.lottie.samples.utils.viewBinding
/**
* Useful for performance debugging.
* adb shell am start -n com.airbnb.lottie/.samples.SimpleAnimationActivity --es animation LottieLogo1.json --activity-clear-top
*/
class SimpleAnimationActivity : AppCompatActivity() {
private val binding: SimpleAnimationActivityBinding by viewBinding()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
var composition: LottieComposition? = null
binding.parse.setOnClickListener {
val assetName = intent.extras?.getString("animation") ?: ""
val start = System.currentTimeMillis()
composition = LottieCompositionFactory.fromAssetSync(this, assetName, null).value
?: throw IllegalArgumentException("Invalid composition $assetName")
Toast.makeText(this@SimpleAnimationActivity, "Done ${System.currentTimeMillis() - start}", Toast.LENGTH_SHORT).show()
}
binding.setComposition.setOnClickListener {
val start = System.currentTimeMillis()
val drawable = LottieDrawable()
drawable.composition = composition
Toast.makeText(this@SimpleAnimationActivity, "Done ${System.currentTimeMillis() - start}", Toast.LENGTH_SHORT).show()
}
binding.play.setOnClickListener {
composition?.let { binding.animationView.setComposition(it) }
binding.animationView.playAnimation()
}
}
}