diff --git a/build.gradle b/build.gradle
index 71d67e0..63b1718 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,7 +2,7 @@
 
 buildscript {
   ext {
-    composeVersion = '1.0.0-beta09'
+    composeVersion = '1.0.0-rc01'
     kotlinVersion = '1.5.10'
     daggerVersion = '2.37'
   }
@@ -15,7 +15,7 @@
   }
   dependencies {
     classpath 'org.ajoberstar:grgit:1.9.3'
-    classpath 'com.android.tools.build:gradle:7.0.0-beta04'
+    classpath 'com.android.tools.build:gradle:7.0.0-beta05'
     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
     classpath 'org.ajoberstar:grgit:1.9.3'
     classpath "net.ltgt.gradle:gradle-errorprone-plugin:2.0.1"
diff --git a/issue-repro-compose/build.gradle b/issue-repro-compose/build.gradle
index d318cfe..74d7c80 100755
--- a/issue-repro-compose/build.gradle
+++ b/issue-repro-compose/build.gradle
@@ -31,7 +31,7 @@
 dependencies {
     implementation project(':lottie-compose')
     implementation 'androidx.appcompat:appcompat:1.3.0-rc01'
-    implementation 'androidx.activity:activity-compose:1.3.0-alpha06'
+    implementation 'androidx.activity:activity-compose:1.3.0-rc01'
     implementation "androidx.compose.ui:ui:$composeVersion"
     implementation "androidx.compose.material:material:$composeVersion"
     implementation "androidx.compose.material:material-icons-extended:$composeVersion"
diff --git a/lottie-compose/build.gradle b/lottie-compose/build.gradle
index 422498c..2df81c2 100644
--- a/lottie-compose/build.gradle
+++ b/lottie-compose/build.gradle
@@ -56,5 +56,5 @@
   testImplementation 'org.robolectric:robolectric:4.4'
   testImplementation 'androidx.collection:collection-ktx:1.1.0'
   testImplementation 'junit:junit:4.13.2'
-  testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.4.3'
+  testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.0'
 }
\ No newline at end of file
diff --git a/sample-compose/build.gradle b/sample-compose/build.gradle
index 72a88c4..bfecb4d 100644
--- a/sample-compose/build.gradle
+++ b/sample-compose/build.gradle
@@ -53,17 +53,17 @@
 
 dependencies {
   implementation project(':lottie-compose')
-  implementation 'androidx.core:core-ktx:1.5.0'
+  implementation 'androidx.core:core-ktx:1.6.0'
   implementation 'androidx.multidex:multidex:2.0.1'
   implementation 'androidx.activity:activity-ktx:1.2.3'
-  implementation 'androidx.activity:activity-compose:1.3.0-beta02'
-  implementation 'androidx.appcompat:appcompat:1.4.0-alpha02'
-  implementation 'com.google.android.material:material:1.3.0'
+  implementation 'androidx.activity:activity-compose:1.3.0-rc01'
+  implementation 'androidx.appcompat:appcompat:1.4.0-alpha03'
+  implementation 'com.google.android.material:material:1.4.0'
   implementation "androidx.compose.ui:ui:$composeVersion"
   implementation "androidx.compose.material:material:$composeVersion"
   implementation "androidx.compose.material:material-icons-extended:$composeVersion"
   implementation "androidx.compose.ui:ui-tooling:$composeVersion"
-  implementation "androidx.navigation:navigation-compose:2.4.0-alpha02"
+  implementation "androidx.navigation:navigation-compose:2.4.0-alpha04"
   implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
   implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
 
@@ -77,12 +77,12 @@
 
   implementation 'com.squareup.retrofit2:retrofit:2.9.0'
   implementation 'com.squareup.retrofit2:converter-moshi:2.9.0'
-  implementation "com.google.accompanist:accompanist-coil:0.11.1"
+  implementation "com.google.accompanist:accompanist-coil:0.12.0"
   implementation "com.google.accompanist:accompanist-pager-indicators:0.11.1"
   implementation 'com.airbnb.android:mavericks:2.3.0'
   implementation 'com.airbnb.android:mavericks-compose:2.1.0-alpha02'
 
   testImplementation 'junit:junit:4.13.2'
-  androidTestImplementation 'androidx.test.ext:junit:1.1.2'
-  androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
+  androidTestImplementation 'androidx.test.ext:junit:1.1.3'
+  androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
 }
\ No newline at end of file
diff --git a/sample/build.gradle b/sample/build.gradle
index 28c4a75..9ca29a7 100644
--- a/sample/build.gradle
+++ b/sample/build.gradle
@@ -70,48 +70,48 @@
   implementation project(':lottie')
   implementation 'androidx.multidex:multidex:2.0.1'
 
-  implementation "androidx.fragment:fragment-ktx:1.3.2"
-  implementation "androidx.appcompat:appcompat:1.2.0"
-  implementation "androidx.recyclerview:recyclerview:1.2.0"
-  implementation "androidx.paging:paging-runtime-ktx:3.0.0-beta03"
+  implementation "androidx.fragment:fragment-ktx:1.3.5"
+  implementation "androidx.appcompat:appcompat:1.3.0"
+  implementation "androidx.recyclerview:recyclerview:1.2.1"
+  implementation "androidx.paging:paging-runtime-ktx:3.0.0"
   implementation "androidx.cardview:cardview:1.0.0"
-  implementation 'androidx.core:core-ktx:1.3.2'
+  implementation 'androidx.core:core-ktx:1.6.0'
   implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
   implementation "androidx.browser:browser:1.3.0"
   implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
   kapt "androidx.lifecycle:lifecycle-common-java8:2.3.1"
-  implementation "com.google.android.material:material:1.3.0"
+  implementation "com.google.android.material:material:1.4.0"
 
-  implementation 'com.airbnb.android:epoxy:4.4.4'
-  kapt 'com.airbnb.android:epoxy-processor:4.4.4'
+  implementation 'com.airbnb.android:epoxy:4.6.2'
+  kapt 'com.airbnb.android:epoxy-processor:4.6.2'
   implementation 'com.airbnb.android:mvrx:1.5.1'
 
   implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
   implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
   implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion"
-  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3'
-  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.3'
+  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0'
+  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'
   implementation 'com.dlazaro66.qrcodereaderview:qrcodereaderview:2.0.2'
   implementation 'com.github.PhilJay:MPAndroidChart:3.1.0'
   implementation 'com.amazonaws:aws-android-sdk-s3:2.8.3'
   implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.8.3@aar') { transitive = true }
   implementation ('com.amazonaws:aws-android-sdk-auth-userpools:2.8.3@aar') { transitive = true }
-  implementation 'com.google.code.gson:gson:2.8.6'
+  implementation 'com.google.code.gson:gson:2.8.7'
   implementation 'com.squareup.okhttp3:okhttp:4.9.1'
   implementation 'com.squareup.retrofit2:retrofit:2.9.0'
   implementation 'com.squareup.retrofit2:adapter-rxjava2:2.9.0'
   implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
-  implementation 'com.github.bumptech.glide:glide:4.9.0'
+  implementation 'com.github.bumptech.glide:glide:4.12.0'
 
-  debugImplementation 'androidx.fragment:fragment-testing:1.3.2'
+  debugImplementation 'androidx.fragment:fragment-testing:1.3.5'
 
   testImplementation 'junit:junit:4.13.2'
 
-  androidTestImplementation 'androidx.test:core:1.3.0-rc01'
-  androidTestImplementation 'androidx.test.ext:junit:1.1.2'
-  androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
-  androidTestImplementation 'androidx.test.espresso:espresso-idling-resource:3.3.0'
-  androidTestImplementation 'androidx.test:rules:1.3.0'
+  androidTestImplementation 'androidx.test:core:1.3.0'
+  androidTestImplementation 'androidx.test.ext:junit:1.1.3'
+  androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
+  androidTestImplementation 'androidx.test.espresso:espresso-idling-resource:3.4.0'
+  androidTestImplementation 'androidx.test:rules:1.4.0'
   androidTestImplementation 'com.squareup.okhttp3:okhttp:4.9.1'
   androidTestImplementation 'io.jsonwebtoken:jjwt:0.9.0'
   androidTestImplementation "org.mockito:mockito-android:2.28.2"
diff --git a/sample/src/main/kotlin/com/airbnb/lottie/samples/MainActivity.kt b/sample/src/main/kotlin/com/airbnb/lottie/samples/MainActivity.kt
index c36a34e..2c5e89a 100644
--- a/sample/src/main/kotlin/com/airbnb/lottie/samples/MainActivity.kt
+++ b/sample/src/main/kotlin/com/airbnb/lottie/samples/MainActivity.kt
@@ -1,7 +1,6 @@
 package com.airbnb.lottie.samples
 
 import android.os.Bundle
-import android.view.MenuItem
 import androidx.appcompat.app.AppCompatActivity
 import androidx.appcompat.app.AppCompatDelegate
 import androidx.browser.customtabs.CustomTabsIntent
@@ -9,28 +8,26 @@
 import androidx.fragment.app.Fragment
 import com.airbnb.lottie.samples.databinding.MainActivityBinding
 import com.airbnb.lottie.samples.utils.viewBinding
-import com.google.android.material.bottomnavigation.BottomNavigationView
 
-class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemSelectedListener {
+class MainActivity : AppCompatActivity() {
     private val binding: MainActivityBinding by viewBinding()
 
     override fun onCreate(savedInstanceState: Bundle?) {
         AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
         super.onCreate(savedInstanceState)
-        binding.bottomNavigation.setOnNavigationItemSelectedListener(this)
-
-        savedInstanceState ?: showFragment(ShowcaseFragment())
-    }
-
-    override fun onNavigationItemSelected(item: MenuItem): Boolean {
-        when (item.itemId) {
-            R.id.showcase -> showFragment(ShowcaseFragment())
-            R.id.preview -> showFragment(PreviewFragment())
-            R.id.lottiefiles -> showFragment(LottiefilesFragment())
-            R.id.learn -> showShowcase()
-            else -> return false
+        binding.bottomNavigation.setOnItemSelectedListener listener@{ item ->
+            when (item.itemId) {
+                R.id.showcase -> showFragment(ShowcaseFragment())
+                R.id.preview -> showFragment(PreviewFragment())
+                R.id.lottiefiles -> showFragment(LottiefilesFragment())
+                R.id.learn -> showShowcase()
+            }
+            true
         }
-        return true
+
+        if (savedInstanceState == null) {
+            showFragment(ShowcaseFragment())
+        }
     }
 
     private fun showShowcase() {
@@ -40,7 +37,7 @@
 
     private fun showFragment(fragment: Fragment) {
         supportFragmentManager.beginTransaction()
-                .replace(R.id.content, fragment)
-                .commit()
+            .replace(R.id.content, fragment)
+            .commit()
     }
 }
diff --git a/sample/src/main/kotlin/com/airbnb/lottie/samples/ShowcaseFragment.kt b/sample/src/main/kotlin/com/airbnb/lottie/samples/ShowcaseFragment.kt
index 3379dd2..b0d18ba 100644
--- a/sample/src/main/kotlin/com/airbnb/lottie/samples/ShowcaseFragment.kt
+++ b/sample/src/main/kotlin/com/airbnb/lottie/samples/ShowcaseFragment.kt
@@ -3,6 +3,7 @@
 import android.content.Intent
 import com.airbnb.epoxy.EpoxyController
 import com.airbnb.lottie.samples.api.LottiefilesApi
+import com.airbnb.lottie.samples.model.AnimationDataV2
 import com.airbnb.lottie.samples.model.AnimationResponseV2
 import com.airbnb.lottie.samples.model.CompositionArgs
 import com.airbnb.lottie.samples.model.ShowcaseItem
diff --git a/sample/src/main/kotlin/com/airbnb/lottie/samples/model/AnimationDataV2.kt b/sample/src/main/kotlin/com/airbnb/lottie/samples/model/AnimationDataV2.kt
index 5075042..4f45257 100644
--- a/sample/src/main/kotlin/com/airbnb/lottie/samples/model/AnimationDataV2.kt
+++ b/sample/src/main/kotlin/com/airbnb/lottie/samples/model/AnimationDataV2.kt
@@ -2,39 +2,16 @@
 
 import android.os.Parcelable
 import com.airbnb.lottie.samples.utils.toColorIntSafe
+import com.google.gson.annotations.SerializedName
 import kotlinx.parcelize.Parcelize
 
 @Parcelize
 data class AnimationDataV2(
-        val aepFlag: Int,
-        val baseprice: String,
-        val bgColor: String,
-        val bodymovinVersion: String?,
-        val createdAt: String,
-        val dataFile: String,
-        val description: String,
-        val downloads: Int,
-        val file: String,
-        val fileHash: String,
-        val id: Int,
-        val inProcess: Int,
-        val isSticker: Int,
-        val preview: String,
-        val previewFrame: Int,
-        val previewUrl: String,
-        val previewVideo: String,
-        val previewVideoUrl: String,
-        val price: Int,
-        val publishedAt: String,
-        val slug: String,
-        val speed: Int,
-        val status: Int,
-        val title: String,
-        val updated_at: String,
-        val userId: Int,
-        val videoFramerate: Int,
-        val views: Int
+        @SerializedName("bg_color") val bgColor: String,
+        @SerializedName("file") val file: String,
+        @SerializedName("id") val id: Int,
+        @SerializedName("preview") val preview: String,
+        @SerializedName("title") val title: String,
 ) : Parcelable {
     val bgColorInt get() = bgColor.toColorIntSafe()
-
 }
\ No newline at end of file
diff --git a/sample/src/main/kotlin/com/airbnb/lottie/samples/model/AnimationResponseV2.kt b/sample/src/main/kotlin/com/airbnb/lottie/samples/model/AnimationResponseV2.kt
index 9a4a159..ed31989 100644
--- a/sample/src/main/kotlin/com/airbnb/lottie/samples/model/AnimationResponseV2.kt
+++ b/sample/src/main/kotlin/com/airbnb/lottie/samples/model/AnimationResponseV2.kt
@@ -1,16 +1,5 @@
 package com.airbnb.lottie.samples.model
 
 data class AnimationResponseV2(
-        val current_page: Int,
-        val data: List<AnimationDataV2>,
-        val first_page_url: String,
-        val from: Int,
-        val last_page: Int,
-        val last_page_url: String,
-        val next_page_url: Any,
-        val path: String,
-        val per_page: Int,
-        val prev_page_url: Any,
-        val to: Int,
-        val total: Int
+        val data: List<AnimationDataV2> = emptyList(),
 )
\ No newline at end of file
