diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index 88c9534..c7fc802 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -36,5 +36,10 @@
       <option name="name" value="MavenLocal" />
       <option name="url" value="file:$USER_HOME$/.m2/repository/" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="MavenRepo" />
+      <option name="name" value="MavenRepo" />
+      <option name="url" value="https://repo.maven.apache.org/maven2/" />
+    </remote-repository>
   </component>
 </project>
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 1c170f6..6db606b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,13 +2,12 @@
 
 buildscript {
   ext {
-    composeVersion = '1.0.0-beta03'
-    kotlinVersion = '1.4.31'
-    daggerVersion = '2.32'
+    composeVersion = '1.0.0-beta04'
+    kotlinVersion = '1.4.32'
+    daggerVersion = '2.34'
   }
 
   repositories {
-    jcenter()
     google()
     maven {
       url "https://plugins.gradle.org/m2/"
@@ -16,11 +15,10 @@
   }
   dependencies {
     classpath 'org.ajoberstar:grgit:1.9.3'
-    classpath 'com.android.tools.build:gradle:7.0.0-alpha12'
+    classpath 'com.android.tools.build:gradle:7.0.0-alpha14'
     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
-    classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlinVersion"
     classpath 'org.ajoberstar:grgit:1.9.3'
-    classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.6"
+    classpath "net.ltgt.gradle:gradle-errorprone-plugin:2.0.1"
     classpath 'com.vanniktech:gradle-maven-publish-plugin:0.13.0'
     classpath 'org.jetbrains.dokka:dokka-gradle-plugin:1.4.10.2'
   }
@@ -29,15 +27,15 @@
 allprojects {
   repositories {
     google()
-    jcenter()
+    mavenCentral()
     maven {
       url "https://jitpack.io"
     }
     maven {
-      url "https://oss.sonatype.org/content/repositories/snapshots/"
+      url "https://kotlin.bintray.com/kotlinx"
     }
-    flatDir {
-      dirs 'libs'
+    maven {
+      url "https://oss.sonatype.org/content/repositories/snapshots/"
     }
   }
 }
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 0ea3e8a..e82caa4 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https://services.gradle.org/distributions/gradle-6.8.2-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-all.zip
diff --git a/issue-repro-compose/build.gradle b/issue-repro-compose/build.gradle
index 72f8700..9c13724 100755
--- a/issue-repro-compose/build.gradle
+++ b/issue-repro-compose/build.gradle
@@ -1,6 +1,5 @@
 apply plugin: 'com.android.application'
 apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-android-extensions'
 
 android {
     compileSdkVersion 30
@@ -26,14 +25,13 @@
     }
     composeOptions {
         kotlinCompilerExtensionVersion composeVersion
-        kotlinCompilerVersion kotlinVersion
     }
 }
 
 dependencies {
     implementation project(':lottie-compose')
-    implementation 'androidx.appcompat:appcompat:1.3.0-beta01'
-    implementation 'androidx.activity:activity-compose:1.3.0-alpha04'
+    implementation 'androidx.appcompat:appcompat:1.3.0-rc01'
+    implementation 'androidx.activity:activity-compose:1.3.0-alpha05'
     implementation "androidx.compose.ui:ui:$composeVersion"
     implementation "androidx.compose.material:material:$composeVersion"
     implementation "androidx.compose.material:material-icons-extended:$composeVersion"
diff --git a/issue-repro/build.gradle b/issue-repro/build.gradle
index 6c20bd4..43bb4b7 100755
--- a/issue-repro/build.gradle
+++ b/issue-repro/build.gradle
@@ -1,6 +1,5 @@
 apply plugin: 'com.android.application'
 apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-android-extensions'
 
 android {
     compileSdkVersion 30
@@ -12,6 +11,10 @@
         versionName "1.0"
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
     }
+
+    buildFeatures {
+        viewBinding true
+    }
 }
 
 dependencies {
diff --git a/issue-repro/src/main/java/com/airbnb/lottie/issues/IssueReproActivity.kt b/issue-repro/src/main/java/com/airbnb/lottie/issues/IssueReproActivity.kt
index b367194..495438c 100755
--- a/issue-repro/src/main/java/com/airbnb/lottie/issues/IssueReproActivity.kt
+++ b/issue-repro/src/main/java/com/airbnb/lottie/issues/IssueReproActivity.kt
@@ -2,10 +2,13 @@
 
 import android.os.Bundle
 import androidx.appcompat.app.AppCompatActivity
+import com.airbnb.lottie.issues.databinding.IssueReproActivityBinding
 
-class IssueReproActivity : AppCompatActivity(R.layout.issue_repro_activity) {
+class IssueReproActivity : AppCompatActivity() {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+        val binding = IssueReproActivityBinding.inflate(layoutInflater)
+        setContentView(binding.root)
         // Reproduce any issues here.
     }
 }
diff --git a/lottie-compose/build.gradle b/lottie-compose/build.gradle
index 7cecc15..616f72a 100644
--- a/lottie-compose/build.gradle
+++ b/lottie-compose/build.gradle
@@ -33,7 +33,6 @@
   }
   composeOptions {
     kotlinCompilerExtensionVersion composeVersion
-    kotlinCompilerVersion kotlinVersion
   }
 }
 
diff --git a/sample-compose/build.gradle b/sample-compose/build.gradle
index 8b6535d..2b929c3 100644
--- a/sample-compose/build.gradle
+++ b/sample-compose/build.gradle
@@ -43,7 +43,6 @@
   }
   composeOptions {
     kotlinCompilerExtensionVersion composeVersion
-    kotlinCompilerVersion kotlinVersion
   }
 }
 
diff --git a/sample/build.gradle b/sample/build.gradle
index 9528c11..c31ba06 100644
--- a/sample/build.gradle
+++ b/sample/build.gradle
@@ -70,51 +70,49 @@
   implementation project(':lottie')
   implementation 'androidx.multidex:multidex:2.0.1'
 
-  implementation "androidx.fragment:fragment-ktx:1.2.5"
+  implementation "androidx.fragment:fragment-ktx:1.3.2"
   implementation "androidx.appcompat:appcompat:1.2.0"
   implementation "androidx.recyclerview:recyclerview:1.1.0"
-  implementation "androidx.paging:paging-runtime:3.0.0-alpha5"
-  implementation "androidx.paging:paging-runtime-ktx:3.0.0-alpha06"
+  implementation "androidx.paging:paging-runtime-ktx:3.0.0-beta03"
   implementation "androidx.cardview:cardview:1.0.0"
-  implementation 'androidx.core:core-ktx:1.3.1'
-  implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
-  implementation "androidx.browser:browser:1.2.0"
+  implementation 'androidx.core:core-ktx:1.3.2'
+  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.2.0"
-  implementation "com.google.android.material:material:1.2.1"
+  kapt "androidx.lifecycle:lifecycle-common-java8:2.3.1"
+  implementation "com.google.android.material:material:1.3.0"
 
-  implementation 'com.airbnb.android:epoxy:4.2.0'
-  kapt 'com.airbnb.android:epoxy-processor:4.2.0'
+  implementation 'com.airbnb.android:epoxy:4.4.4'
+  kapt 'com.airbnb.android:epoxy-processor:4.4.4'
   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.2'
-  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2'
-  implementation 'com.matthew-tamlin:sliding-intro-screen:3.2.0'
+  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3'
+  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.3'
   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.squareup.okhttp3:okhttp:4.9.0'
+  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'
 
-  debugImplementation("androidx.fragment:fragment-testing:1.3.0-alpha08")
+  debugImplementation 'androidx.fragment:fragment-testing:1.3.2'
 
-  testImplementation 'junit:junit:4.13.1'
+  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 'com.squareup.okhttp3:okhttp:4.9.0'
+  androidTestImplementation 'com.squareup.okhttp3:okhttp:4.9.1'
   androidTestImplementation 'io.jsonwebtoken:jjwt:0.9.0'
   androidTestImplementation "org.mockito:mockito-android:2.28.2"
   androidTestImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0"
diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml
index 34964be..b0b2fab 100644
--- a/sample/src/main/AndroidManifest.xml
+++ b/sample/src/main/AndroidManifest.xml
@@ -36,9 +36,6 @@
             android:name=".BullseyeActivity"
             android:screenOrientation="portrait" />
         <activity
-            android:name=".AppIntroActivity"
-            android:screenOrientation="portrait" />
-        <activity
             android:name=".QRScanActivity"
             android:screenOrientation="portrait" />
         <activity android:name=".DynamicActivity" />
diff --git a/sample/src/main/kotlin/com/airbnb/lottie/samples/AppIntroActivity.kt b/sample/src/main/kotlin/com/airbnb/lottie/samples/AppIntroActivity.kt
deleted file mode 100644
index 511249d..0000000
--- a/sample/src/main/kotlin/com/airbnb/lottie/samples/AppIntroActivity.kt
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.airbnb.lottie.samples
-
-import android.os.Bundle
-import android.view.animation.Interpolator
-import android.widget.Scroller
-import androidx.fragment.app.Fragment
-import com.airbnb.lottie.LottieAnimationView
-import com.airbnb.lottie.samples.utils.inflate
-import com.airbnb.lottie.samples.utils.lerp
-import com.matthewtamlin.sliding_intro_screen_library.buttons.IntroButton
-import com.matthewtamlin.sliding_intro_screen_library.core.IntroActivity
-import com.matthewtamlin.sliding_intro_screen_library.core.LockableViewPager
-
-
-class AppIntroActivity : IntroActivity() {
-    private val animationView: LottieAnimationView by lazy {
-        rootView.inflate(R.layout.app_intro_animation_view, false) as LottieAnimationView
-    }
-    private val viewPager: LockableViewPager by lazy {
-        findViewById(R.id.intro_activity_viewPager)
-    }
-
-    override fun generatePages(savedInstanceState: Bundle?) = listOf(EmptyFragment(), EmptyFragment(), EmptyFragment(), EmptyFragment())
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        rootView.addView(animationView, 0)
-        setViewPagerScroller()
-
-        addPageChangeListener(OnPageChangeListenerAdapter(
-            onPageScrolled = { position, positionOffset, _ ->
-                setAnimationProgress(position, positionOffset)
-            }
-        ))
-    }
-
-    override fun generateFinalButtonBehaviour(): IntroButton.Behaviour {
-        return object : IntroButton.Behaviour {
-            override fun setActivity(activity: IntroActivity) { finish() }
-            override fun getActivity(): IntroActivity? = null
-            override fun run() {}
-        }
-    }
-
-    private fun setAnimationProgress(position: Int, positionOffset: Float) {
-        val startProgress = ANIMATION_TIMES[position]
-        val endProgress = ANIMATION_TIMES[position + 1]
-
-        animationView.progress = startProgress.lerp(endProgress, positionOffset)
-    }
-
-    class EmptyFragment : Fragment(R.layout.empty_fragment)
-
-    private fun setViewPagerScroller() {
-        try {
-            val scrollerField = androidx.viewpager.widget.ViewPager::class.java.getDeclaredField("mScroller")
-            scrollerField.isAccessible = true
-            val interpolator = androidx.viewpager.widget.ViewPager::class.java.getDeclaredField("sInterpolator")
-            interpolator.isAccessible = true
-
-            val scroller = object : Scroller(this, interpolator.get(null) as Interpolator) {
-                override fun startScroll(startX: Int, startY: Int, dx: Int, dy: Int, duration: Int) {
-                    super.startScroll(startX, startY, dx, dy, duration * 7)
-                }
-            }
-            scrollerField.set(viewPager, scroller)
-        } catch (e: NoSuchFieldException) {
-            // Do nothing.
-        } catch (e: IllegalAccessException) {
-            // Do nothing.
-        }
-    }
-
-    companion object {
-        private val ANIMATION_TIMES = floatArrayOf(0f, 0.3333f, 0.6666f, 1f, 1f)
-    }
-}
diff --git a/sample/src/main/kotlin/com/airbnb/lottie/samples/LottiefilesFragment.kt b/sample/src/main/kotlin/com/airbnb/lottie/samples/LottiefilesFragment.kt
index cfaa7b9..69013a5 100644
--- a/sample/src/main/kotlin/com/airbnb/lottie/samples/LottiefilesFragment.kt
+++ b/sample/src/main/kotlin/com/airbnb/lottie/samples/LottiefilesFragment.kt
@@ -53,7 +53,7 @@
     fun setQuery(query: String) = setState { copy(query = query) }
 
     companion object : MvRxViewModelFactory<LottiefilesViewModel, LottiefilesState> {
-        override fun create(viewModelContext: ViewModelContext, state: LottiefilesState): LottiefilesViewModel? {
+        override fun create(viewModelContext: ViewModelContext, state: LottiefilesState): LottiefilesViewModel {
             val service = viewModelContext.app<LottieApplication>().lottiefilesService
             return LottiefilesViewModel(state, service)
         }
@@ -90,6 +90,10 @@
             LoadResult.Error(e)
         }
     }
+
+    override fun getRefreshKey(state: PagingState<Int, AnimationData>): Int? {
+        return state.closestItemToPosition(state.anchorPosition ?: return null)?.id as Int?
+    }
 }
 
 class LottiefilesFragment : BaseMvRxFragment(R.layout.lottiefiles_fragment) {
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 339a3ee..3379dd2 100644
--- a/sample/src/main/kotlin/com/airbnb/lottie/samples/ShowcaseFragment.kt
+++ b/sample/src/main/kotlin/com/airbnb/lottie/samples/ShowcaseFragment.kt
@@ -34,9 +34,6 @@
 class ShowcaseFragment : BaseEpoxyFragment() {
 
     private val showcaseItems = listOf(
-            ShowcaseItem(R.drawable.showcase_preview_lottie, R.string.showcase_item_app_intro) {
-                startActivity(Intent(requireContext(), AppIntroActivity::class.java))
-            },
             ShowcaseItem(R.drawable.showcase_preview_lottie, R.string.showcase_item_dynamic_properties) {
                 startActivity(Intent(requireContext(), DynamicActivity::class.java))
             },
diff --git a/sample/src/main/res/layout/app_intro_animation_view.xml b/sample/src/main/res/layout/app_intro_animation_view.xml
deleted file mode 100644
index 743e9f7..0000000
--- a/sample/src/main/res/layout/app_intro_animation_view.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<com.airbnb.lottie.LottieAnimationView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/animation_view"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    app:lottie_rawRes="@raw/walkthrough"/>
\ No newline at end of file
diff --git a/sample/src/main/res/values/strings.xml b/sample/src/main/res/values/strings.xml
index ad9fc55..5ddb8a1 100644
--- a/sample/src/main/res/values/strings.xml
+++ b/sample/src/main/res/values/strings.xml
@@ -78,7 +78,6 @@
 
     <string name="anonymous">Anonymous</string>
 
-    <string name="showcase_item_app_intro">App\nTutorial</string>
     <string name="showcase_item_bullseye">\nBullseye</string>
     <string name="showcase_item_dynamic_properties">Dynamic\nProperties</string>
     <string name="showcase_item_animated_text">Animated\nText</string>
