Upgrade to Compose Alpha 8
diff --git a/build.gradle b/build.gradle
index b3ec3c1..f7e23b1 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,9 +2,9 @@
buildscript {
ext {
- composeVersion = '1.0.0-alpha07'
- kotlinVersion = '1.4.10'
- daggerVersion = '2.29.1'
+ composeVersion = '1.0.0-alpha08'
+ kotlinVersion = '1.4.20'
+ daggerVersion = '2.30.1'
}
repositories {
diff --git a/lottie-compose/src/main/java/com/airbnb/lottie/compose/LottieAnimation.kt b/lottie-compose/src/main/java/com/airbnb/lottie/compose/LottieAnimation.kt
index a84608e..c335ece 100644
--- a/lottie-compose/src/main/java/com/airbnb/lottie/compose/LottieAnimation.kt
+++ b/lottie-compose/src/main/java/com/airbnb/lottie/compose/LottieAnimation.kt
@@ -16,7 +16,7 @@
import androidx.compose.ui.graphics.drawscope.drawIntoCanvas
import androidx.compose.ui.graphics.drawscope.withTransform
import androidx.compose.ui.graphics.nativeCanvas
-import androidx.compose.ui.platform.ContextAmbient
+import androidx.compose.ui.platform.AmbientContext
import com.airbnb.lottie.LottieComposition
import com.airbnb.lottie.LottieCompositionFactory
import com.airbnb.lottie.LottieDrawable
@@ -33,7 +33,7 @@
*/
@Composable
fun rememberLottieComposition(spec: LottieAnimationSpec): LottieCompositionResult {
- val context = ContextAmbient.current
+ val context = AmbientContext.current
var result: LottieCompositionResult by remember { mutableStateOf(LottieCompositionResult.Loading) }
onCommit(spec) {
var isDisposed = false
@@ -67,18 +67,18 @@
@Composable
fun LottieAnimation(
spec: LottieAnimationSpec,
- animationState: LottieAnimationState = rememberLottieAnimationState(autoPlay = true),
modifier: Modifier = Modifier,
+ animationState: LottieAnimationState = rememberLottieAnimationState(autoPlay = true),
) {
val composition = rememberLottieComposition(spec)
- LottieAnimation(composition, animationState, modifier)
+ LottieAnimation(composition, modifier, animationState)
}
@Composable
fun LottieAnimation(
compositionResult: LottieCompositionResult,
- animationState: LottieAnimationState = rememberLottieAnimationState(autoPlay = true),
modifier: Modifier = Modifier,
+ animationState: LottieAnimationState = rememberLottieAnimationState(autoPlay = true),
) {
LottieAnimation(compositionResult(), animationState, modifier)
}
@@ -147,7 +147,6 @@
}
}
-@Composable
private fun Modifier.maintainAspectRatio(composition: LottieComposition?): Modifier {
composition ?: return this
return this.then(aspectRatio(composition.bounds.width() / composition.bounds.height().toFloat()))
diff --git a/sample-compose/build.gradle b/sample-compose/build.gradle
index e147a92..13dc5c4 100644
--- a/sample-compose/build.gradle
+++ b/sample-compose/build.gradle
@@ -34,7 +34,8 @@
"-Xallow-jvm-ir-dependencies",
"-Xskip-prerelease-check",
"-Xuse-experimental=kotlinx.coroutines.ExperimentalCoroutinesApi",
- "-Xopt-in=androidx.compose.material.ExperimentalMaterialApi"
+ "-Xopt-in=androidx.compose.material.ExperimentalMaterialApi",
+ "-Xopt-in=com.airbnb.mvrx.InternalMavericksApi"
]
}
buildFeatures {
@@ -63,16 +64,16 @@
implementation "androidx.compose.ui:ui:$composeVersion"
implementation "androidx.compose.material:material:$composeVersion"
implementation "androidx.compose.material:material-icons-extended:$composeVersion"
- implementation "androidx.ui:ui-tooling:$composeVersion"
- implementation "androidx.navigation:navigation-compose:1.0.0-alpha02"
+ implementation "androidx.compose.ui:ui-tooling:$composeVersion"
+ implementation "androidx.navigation:navigation-compose:1.0.0-alpha03"
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0-beta01'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.0-beta01'
- implementation "androidx.navigation:navigation-fragment-ktx:2.3.1"
- implementation "androidx.navigation:navigation-ui-ktx:2.3.1"
+ implementation "androidx.navigation:navigation-fragment-ktx:2.3.2"
+ implementation "androidx.navigation:navigation-ui-ktx:2.3.2"
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1'
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1'
+ implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2'
+ implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2'
implementation "com.google.dagger:dagger:$daggerVersion"
kapt "com.google.dagger:dagger-compiler:$daggerVersion"
@@ -82,8 +83,8 @@
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-moshi:2.9.0'
- implementation "dev.chrisbanes.accompanist:accompanist-coil:0.3.3.1"
- implementation 'com.airbnb.android:mvrx:2.0.0-beta2'
+ implementation "dev.chrisbanes.accompanist:accompanist-coil:0.4.0"
+ implementation 'com.airbnb.android:mvrx:2.0.0-beta3'
testImplementation 'junit:junit:4.13.1'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/Ambients.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/Ambients.kt
index 8ce7d96..7f2370a 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/Ambients.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/Ambients.kt
@@ -3,4 +3,4 @@
import androidx.activity.OnBackPressedDispatcher
import androidx.compose.runtime.ambientOf
-val BackPressedDispatcherAmbient = ambientOf<OnBackPressedDispatcher> { error("No BackPressedDispatcher specified.") }
\ No newline at end of file
+val AmbientBackPressedDispatcher = ambientOf<OnBackPressedDispatcher> { error("No BackPressedDispatcher specified.") }
\ No newline at end of file
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/ComposeActivity.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/ComposeActivity.kt
index 2bbe0b3..f6d8a16 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/ComposeActivity.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/ComposeActivity.kt
@@ -17,7 +17,7 @@
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.platform.ContextAmbient
+import androidx.compose.ui.platform.AmbientContext
import androidx.compose.ui.platform.setContent
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
@@ -36,7 +36,7 @@
import com.airbnb.lottie.sample.compose.ui.LottieTheme
import com.airbnb.lottie.sample.compose.ui.Teal
import com.airbnb.lottie.sample.compose.ui.toColorSafe
-import com.airbnb.lottie.sample.compose.utils.NavControllerAmbient
+import com.airbnb.lottie.sample.compose.utils.AmbientNavController
import com.airbnb.lottie.sample.compose.utils.getBase64String
class ComposeActivity : AppCompatActivity() {
@@ -53,8 +53,8 @@
val navController = rememberNavController()
Providers(
- NavControllerAmbient provides navController,
- BackPressedDispatcherAmbient provides (ContextAmbient.current as ComponentActivity).onBackPressedDispatcher
+ AmbientNavController provides navController,
+ AmbientBackPressedDispatcher provides (AmbientContext.current as ComponentActivity).onBackPressedDispatcher
) {
LottieTheme {
Scaffold(
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/composables/DebouncedCircularProgressIndicator.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/composables/DebouncedCircularProgressIndicator.kt
index ac5d08c..31d31c6 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/composables/DebouncedCircularProgressIndicator.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/composables/DebouncedCircularProgressIndicator.kt
@@ -4,6 +4,7 @@
import androidx.compose.material.MaterialTheme
import androidx.compose.material.ProgressIndicatorConstants
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.LaunchedTask
import androidx.compose.runtime.remember
import androidx.compose.runtime.getValue
@@ -16,13 +17,13 @@
@Composable
fun DebouncedCircularProgressIndicator(
+ modifier: Modifier = Modifier,
delayMs: Long = 1_500L,
color: Color = MaterialTheme.colors.primary,
strokeWidth: Dp = ProgressIndicatorConstants.DefaultStrokeWidth,
- modifier: Modifier = Modifier,
) {
var readyToShow by remember { mutableStateOf(false) }
- LaunchedTask {
+ LaunchedEffect(readyToShow) {
delay(delayMs)
readyToShow = true
}
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/composables/SeekBar.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/composables/SeekBar.kt
index 8e0f772..8eacd76 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/composables/SeekBar.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/composables/SeekBar.kt
@@ -14,19 +14,19 @@
import androidx.compose.ui.gesture.dragGestureFilter
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.onGloballyPositioned
+import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import androidx.ui.tooling.preview.Preview
@Composable
fun SeekBar(
progress: Float,
onProgressChanged: (Float) -> Unit,
+ modifier: Modifier = Modifier,
trackHeight: Dp = 2.dp,
thumbRadius: Dp = 4.dp,
unfilledTrackColor: Color = Color.LightGray,
filledTrackColor: Color = Color.Red,
- modifier: Modifier = Modifier
) {
var width = 0
var dragStartProgress = 0f
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/lottiefiles/LottieFilesPage.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/lottiefiles/LottieFilesPage.kt
index 7c0b249..286fcd7 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/lottiefiles/LottieFilesPage.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/lottiefiles/LottieFilesPage.kt
@@ -12,7 +12,7 @@
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.onGloballyPositioned
-import androidx.compose.ui.platform.DensityAmbient
+import androidx.compose.ui.platform.AmbientDensity
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import com.airbnb.lottie.sample.compose.R
@@ -70,7 +70,7 @@
onClick: () -> Unit
) {
val textWidth = remember { mutableStateOf(0) }
- val pxRatio = with(DensityAmbient.current) { 1.dp.toPx() }
+ val pxRatio = with(AmbientDensity.current) { 1.dp.toPx() }
val tabWidth = animate(target = if (isSelected) (textWidth.value / pxRatio).dp else 0.dp)
val tabAlpha = animate(target = if (isSelected) 1f else 0f)
Column(
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/lottiefiles/LottieFilesRecentsAndPopularPage.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/lottiefiles/LottieFilesRecentsAndPopularPage.kt
index e0c223b..4df5209 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/lottiefiles/LottieFilesRecentsAndPopularPage.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/lottiefiles/LottieFilesRecentsAndPopularPage.kt
@@ -1,8 +1,10 @@
package com.airbnb.lottie.sample.compose.lottiefiles
import android.util.Log
+import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumnForIndexed
import androidx.compose.material.FloatingActionButton
@@ -66,12 +68,13 @@
if (state.currentPage >= state.lastPage) return@withState
fetchJob = viewModelScope.launch(Dispatchers.IO) {
val response = try {
- Log.d("Gabe", "Fetching page ${state.currentPage + 1}")
+ Log.d(TAG, "Fetching page ${state.currentPage + 1}")
when (state.mode) {
LottieFilesMode.Recent -> api.getRecent(state.currentPage + 1)
LottieFilesMode.Popular -> api.getPopular(state.currentPage + 1)
}
} catch (e: Exception) {
+ Log.w(TAG, "Failed to fetch from Lottie Files.", e)
setState { copy(fetchException = true) }
return@launch
}
@@ -93,7 +96,9 @@
override fun create(initialState: LottieFilesRecentAndPopularState): LottieFilesRecentAndPopularViewModel
}
- companion object : DaggerMvRxViewModelFactory<LottieFilesRecentAndPopularViewModel, LottieFilesRecentAndPopularState>(LottieFilesRecentAndPopularViewModel::class.java)
+ companion object : DaggerMvRxViewModelFactory<LottieFilesRecentAndPopularViewModel, LottieFilesRecentAndPopularState>(LottieFilesRecentAndPopularViewModel::class.java) {
+ private const val TAG = "LottieFilesVM"
+ }
}
@Composable
@@ -119,7 +124,10 @@
onAnimationClicked: (AnimationDataV2) -> Unit,
modifier: Modifier = Modifier,
) {
- Box {
+ Box(
+ modifier = Modifier
+ .fillMaxWidth()
+ ) {
Column(
modifier = Modifier.then(modifier)
) {
@@ -143,7 +151,7 @@
if (state.fetchException) {
FloatingActionButton(
onClick = fetchNextPage,
- icon = {
+ content = {
Icon(Icons.Filled.Repeat, tint = Color.White)
},
modifier = Modifier
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/lottiefiles/LottieFilesSearchPage.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/lottiefiles/LottieFilesSearchPage.kt
index ba6ee6c..5227dfd 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/lottiefiles/LottieFilesSearchPage.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/lottiefiles/LottieFilesSearchPage.kt
@@ -19,9 +19,9 @@
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.navigation.compose.navigate
-import androidx.ui.tooling.preview.Preview
import com.airbnb.lottie.sample.compose.R
import com.airbnb.lottie.sample.compose.Route
import com.airbnb.lottie.sample.compose.api.AnimationDataV2
@@ -162,7 +162,7 @@
if (state.fetchException) {
FloatingActionButton(
onClick = fetchNextPage,
- icon = {
+ content = {
Icon(Icons.Filled.Repeat, tint = Color.White)
},
modifier = Modifier
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/player/PlayerPage.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/player/PlayerPage.kt
index b27fc0f..234e834 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/player/PlayerPage.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/player/PlayerPage.kt
@@ -51,10 +51,10 @@
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.compose.ui.window.Dialog
-import androidx.ui.tooling.preview.Preview
import com.airbnb.lottie.LottieComposition
import com.airbnb.lottie.compose.LottieAnimation
import com.airbnb.lottie.compose.LottieAnimationSpec
@@ -62,7 +62,7 @@
import com.airbnb.lottie.compose.LottieCompositionResult
import com.airbnb.lottie.compose.rememberLottieAnimationState
import com.airbnb.lottie.compose.rememberLottieComposition
-import com.airbnb.lottie.sample.compose.BackPressedDispatcherAmbient
+import com.airbnb.lottie.sample.compose.AmbientBackPressedDispatcher
import com.airbnb.lottie.sample.compose.BuildConfig
import com.airbnb.lottie.sample.compose.R
import com.airbnb.lottie.sample.compose.composables.DebouncedCircularProgressIndicator
@@ -79,7 +79,7 @@
spec: LottieAnimationSpec,
animationBackgroundColor: Color? = null,
) {
- val backPressedDispatcher = BackPressedDispatcherAmbient.current
+ val backPressedDispatcher = AmbientBackPressedDispatcher.current
val compositionResult = rememberLottieComposition(spec)
val animationState = rememberLottieAnimationState(autoPlay = true, repeatCount = Integer.MAX_VALUE)
val scaffoldState = rememberScaffoldState()
@@ -154,7 +154,7 @@
modifier = Modifier.fillMaxHeight()
) {
Box(
- alignment = Alignment.Center,
+ contentAlignment = Alignment.Center,
modifier = Modifier
.weight(1f)
.maybeBackground(backgroundColor)
@@ -162,7 +162,7 @@
) {
LottieAnimation(
compositionResult,
- animationState,
+ animationState = animationState,
modifier = Modifier
.fillMaxSize()
.align(Alignment.Center)
@@ -227,7 +227,7 @@
.drawTopBorder()
) {
Box(
- alignment = Alignment.Center
+ contentAlignment = Alignment.Center
) {
IconButton(
onClick = { animationState.toggleIsPlaying() },
@@ -421,7 +421,7 @@
.heightIn(min = 32.dp, max = 500.dp)
) {
Box(
- alignment = Alignment.TopCenter,
+ contentAlignment = Alignment.TopCenter,
modifier = Modifier
) {
ScrollableColumn {
@@ -452,7 +452,7 @@
@Composable
fun PlayerPagePreview() {
Providers(
- BackPressedDispatcherAmbient provides OnBackPressedDispatcher()
+ AmbientBackPressedDispatcher provides OnBackPressedDispatcher()
) {
PlayerPage(LottieAnimationSpec.Url("https://lottiefiles.com/download/public/32922"))
}
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/player/ToolbarChip.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/player/ToolbarChip.kt
index f5a6cd0..5717ccd 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/player/ToolbarChip.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/player/ToolbarChip.kt
@@ -16,20 +16,20 @@
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
-import androidx.ui.tooling.preview.Preview
import com.airbnb.lottie.sample.compose.R
import com.airbnb.lottie.sample.compose.ui.Teal
@Composable
fun ToolbarChip(
- @DrawableRes iconRes: Int = 0,
label: String,
isActivated: Boolean,
onClick: (isActivated: Boolean) -> Unit,
modifier: Modifier = Modifier,
+ @DrawableRes iconRes: Int = 0,
) {
val unActivatedColor = remember { Color(0xFF444444) }
Surface(
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/preview/PreviewPage.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/preview/PreviewPage.kt
index 9ad3f5b..356406c 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/preview/PreviewPage.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/preview/PreviewPage.kt
@@ -25,13 +25,13 @@
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.platform.ContextAmbient
+import androidx.compose.ui.platform.AmbientContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
+import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.compose.ui.window.Dialog
-import androidx.ui.tooling.preview.Preview
import com.airbnb.lottie.sample.compose.R
import com.airbnb.lottie.sample.compose.Route
import com.airbnb.lottie.sample.compose.composables.Marquee
@@ -111,7 +111,7 @@
@Composable
fun AssetsDialog(isShowing: Boolean, onDismiss: () -> Unit, onAssetSelected: (assetName: String) -> Unit) {
if (!isShowing) return
- val context = ContextAmbient.current
+ val context = AmbientContext.current
val assets = context.assets.list("")
?.asSequence()
?.filter { it.endsWith(".json") || it.endsWith(".zip") }
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/showcase/ShowcasePage.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/showcase/ShowcasePage.kt
index e0ea77f..50822b1 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/showcase/ShowcasePage.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/showcase/ShowcasePage.kt
@@ -9,8 +9,8 @@
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.tooling.preview.Preview
import androidx.navigation.compose.navigate
-import androidx.ui.tooling.preview.Preview
import com.airbnb.lottie.sample.compose.Route
import com.airbnb.lottie.sample.compose.composables.AnimationRow
import com.airbnb.lottie.sample.compose.composables.Loader
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/utils/ComposeExtensions.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/utils/ComposeExtensions.kt
index 901ee58..05caca8 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/utils/ComposeExtensions.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/utils/ComposeExtensions.kt
@@ -3,7 +3,7 @@
import androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.ui.Modifier
-import androidx.compose.ui.drawBehind
+import androidx.compose.ui.draw.drawBehind
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.graphics.Color
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/utils/MavericksExtensions.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/utils/MavericksExtensions.kt
index 13979d5..d758483 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/utils/MavericksExtensions.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/utils/MavericksExtensions.kt
@@ -5,14 +5,19 @@
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
-import androidx.compose.ui.platform.ContextAmbient
+import androidx.compose.ui.platform.AmbientContext
import androidx.fragment.app.FragmentActivity
-import com.airbnb.mvrx.*
+import com.airbnb.mvrx.ActivityViewModelContext
+import com.airbnb.mvrx.Mavericks
+import com.airbnb.mvrx.MavericksState
+import com.airbnb.mvrx.MavericksViewModel
+import com.airbnb.mvrx.MavericksViewModelProvider
+import com.airbnb.mvrx.withState
@Composable
inline fun <reified VM : MavericksViewModel<S>, reified S : MavericksState> mavericksViewModelAndState(): Pair<VM, S> {
val viewModelClass = VM::class
- val activity = ContextAmbient.current as? FragmentActivity ?: error("Composable is not hosted in a FragmentActivity")
+ val activity = AmbientContext.current as? FragmentActivity ?: error("Composable is not hosted in a FragmentActivity")
val keyFactory = { viewModelClass.java.name }
@SuppressLint("RestrictedApi")
val viewModel = MavericksViewModelProvider.get(
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/utils/NavigationExtensions.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/utils/NavigationExtensions.kt
index 1a83ae0..68d1819 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/utils/NavigationExtensions.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/utils/NavigationExtensions.kt
@@ -7,9 +7,9 @@
import androidx.navigation.NavController
import java.nio.charset.StandardCharsets
-val NavControllerAmbient = staticAmbientOf<NavController> { error("You must specify a NavController.") }
+val AmbientNavController = staticAmbientOf<NavController> { error("You must specify a NavController.") }
@Composable
-fun findNavController() = NavControllerAmbient.current
+fun findNavController() = AmbientNavController.current
fun Bundle.getBase64String(key: String) = String(Base64.decode(getString(key), Base64.DEFAULT), StandardCharsets.UTF_8)