blob: 5404a52e400d220e803f9fb43d48b9a462a6af81 [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.model.LottieCompositionCache
import kotlinx.android.synthetic.main.activity_simple_animation.*
import kotlinx.android.synthetic.main.activity_simple_animation.view.*
import java.lang.IllegalArgumentException
/**
* Useful for performance debugging.
* adb shell am start -n com.airbnb.lottie/.samples.SimpleAnimationActivity --es animation LottieLogo1.json --activity-clear-top
*/
class SimpleAnimationActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_simple_animation)
var composition: LottieComposition? = null
parse.setOnClickListener {
val assetName = intent.extras?.getString("animation") ?: ""
LottieCompositionCache.getInstance().clear()
val start = System.currentTimeMillis()
composition = LottieCompositionFactory.fromAssetSync(this, assetName).value
?: throw IllegalArgumentException("Invalid composition $assetName")
Toast.makeText(this@SimpleAnimationActivity, "Done ${System.currentTimeMillis() - start}", Toast.LENGTH_SHORT).show()
}
setComposition.setOnClickListener {
val start = System.currentTimeMillis()
val drawable = LottieDrawable()
drawable.setComposition(composition)
Toast.makeText(this@SimpleAnimationActivity, "Done ${System.currentTimeMillis() - start}", Toast.LENGTH_SHORT).show()
}
play.setOnClickListener {
composition?.let { animationView.setComposition(it) }
animationView.playAnimation()
}
}
}