Upgrade Compose to rc01 plus other dependencies (#1834)
Had to fix a Lottiefiles model because it was NPEing calculating the hash code on a field that wan't being used anyway.
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