More cleanup
diff --git a/CHANGELOG_COMPOSE.md b/CHANGELOG_COMPOSE.md
index 0e6f88d..b2c37fc 100644
--- a/CHANGELOG_COMPOSE.md
+++ b/CHANGELOG_COMPOSE.md
@@ -1,7 +1,7 @@
#### Note: For the time being, we won't provide numbered releases for every new Jetpack Compose
version. Check out our [snapshot builds](https://github.com/airbnb/lottie/blob/master/android-compose.md#getting-started) instead.
-# 1.0.0-beta09-1
+# 1.0.0-rc01-1
## Breaking Changes
`LottieAnimation` now takes a progress float instead of driving the animation internally.
The driving of animations has been split into a new `LottieAnimatable` class and
diff --git a/lottie-compose/gradle.properties b/lottie-compose/gradle.properties
index 9a30505..311e384 100644
--- a/lottie-compose/gradle.properties
+++ b/lottie-compose/gradle.properties
@@ -4,4 +4,4 @@
POM_ARTIFACT_ID=lottie-compose
POM_PACKAGING=aar
GROUP=com.airbnb.android
-VERSION_NAME=1.0.0-beta09-1-SNAPSHOT
+VERSION_NAME=1.0.0-rc01-1-SNAPSHOT
diff --git a/lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java b/lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java
index 9fd83c0..7631b62 100644
--- a/lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java
+++ b/lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java
@@ -1100,7 +1100,7 @@
return bm.bitmapForId(id);
}
LottieImageAsset imageAsset = composition == null ? null : composition.getImages().get(id);
- if (imageAsset != null && imageAsset.getBitmap() != null) {
+ if (imageAsset != null) {
return imageAsset.getBitmap();
}
return null;
diff --git a/lottie/src/main/java/com/airbnb/lottie/manager/ImageAssetManager.java b/lottie/src/main/java/com/airbnb/lottie/manager/ImageAssetManager.java
index 2ac1dad..d28061d 100644
--- a/lottie/src/main/java/com/airbnb/lottie/manager/ImageAssetManager.java
+++ b/lottie/src/main/java/com/airbnb/lottie/manager/ImageAssetManager.java
@@ -20,16 +20,16 @@
public class ImageAssetManager {
private static final Object bitmapHashLock = new Object();
private final Context context;
- private String imagesFolder;
+ private final String imagesFolder;
@Nullable private ImageAssetDelegate delegate;
private final Map<String, LottieImageAsset> imageAssets;
public ImageAssetManager(Drawable.Callback callback, String imagesFolder,
ImageAssetDelegate delegate, Map<String, LottieImageAsset> imageAssets) {
- this.imagesFolder = imagesFolder;
- if (!TextUtils.isEmpty(imagesFolder) &&
- this.imagesFolder.charAt(this.imagesFolder.length() - 1) != '/') {
- this.imagesFolder += '/';
+ if (!TextUtils.isEmpty(imagesFolder) && imagesFolder.charAt(imagesFolder.length() - 1) != '/') {
+ this.imagesFolder = imagesFolder + '/';
+ } else {
+ this.imagesFolder = imagesFolder;
}
if (!(callback instanceof View)) {
Logger.warning("LottieDrawable must be inside of a view for images to work.");
@@ -85,6 +85,7 @@
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inScaled = true;
opts.inDensity = 160;
+
if (filename.startsWith("data:") && filename.indexOf("base64,") > 0) {
// Contents look like a base64 data URI, with the format data:image/png;base64,<data>.
byte[] data;
@@ -130,4 +131,4 @@
return bitmap;
}
}
-}
\ No newline at end of file
+}
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/examples/ImagesExamplesPage.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/examples/ImagesExamplesPage.kt
index c6a69b5..c9046dd 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/examples/ImagesExamplesPage.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/examples/ImagesExamplesPage.kt
@@ -79,9 +79,8 @@
val imageAsset by derivedStateOf { composition?.images?.get("image_0") }
val context = LocalContext.current
LaunchedEffect(imageAsset) {
- val ia = imageAsset ?: return@LaunchedEffect
withContext(Dispatchers.IO) {
- ia.bitmap = loadBitmapFromAssets(context, ia)
+ imageAsset?.bitmap = loadBitmapFromAssets(context, imageAsset)
}
}
LottieAnimation(
@@ -90,7 +89,8 @@
)
}
-private fun loadBitmapFromAssets(context: Context, asset: LottieImageAsset): Bitmap? {
+private fun loadBitmapFromAssets(context: Context, asset: LottieImageAsset?): Bitmap? {
+ asset ?: return null
return try {
val inputSteam = context.assets.open("Images/WeAccept/${asset.fileName}")
val opts = BitmapFactory.Options()