Added warnings for unsupportd matte types
diff --git a/build.gradle b/build.gradle
index a29dbd9..84bc63d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -12,7 +12,7 @@
}
dependencies {
classpath 'org.ajoberstar:grgit:1.9.3'
- classpath 'com.android.tools.build:gradle:4.1.0-rc02'
+ classpath 'com.android.tools.build:gradle:4.1.0-rc03'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlinVersion"
classpath 'org.ajoberstar:grgit:1.9.3'
diff --git a/lottie/src/main/java/com/airbnb/lottie/model/layer/Layer.java b/lottie/src/main/java/com/airbnb/lottie/model/layer/Layer.java
index 5f42150..6b55581 100644
--- a/lottie/src/main/java/com/airbnb/lottie/model/layer/Layer.java
+++ b/lottie/src/main/java/com/airbnb/lottie/model/layer/Layer.java
@@ -30,6 +30,8 @@
NONE,
ADD,
INVERT,
+ LUMA,
+ LUMA_INVERTED,
UNKNOWN
}
diff --git a/lottie/src/main/java/com/airbnb/lottie/parser/LayerParser.java b/lottie/src/main/java/com/airbnb/lottie/parser/LayerParser.java
index a066b20..bc392e2 100644
--- a/lottie/src/main/java/com/airbnb/lottie/parser/LayerParser.java
+++ b/lottie/src/main/java/com/airbnb/lottie/parser/LayerParser.java
@@ -132,7 +132,20 @@
transform = AnimatableTransformParser.parse(reader, composition);
break;
case 9:
- matteType = Layer.MatteType.values()[reader.nextInt()];
+ int matteTypeIndex = reader.nextInt();
+ if (matteTypeIndex >= Layer.MatteType.values().length) {
+ composition.addWarning("Unsupported matte type: " + matteTypeIndex);
+ break;
+ }
+ matteType = Layer.MatteType.values()[matteTypeIndex];
+ switch (matteType) {
+ case LUMA:
+ composition.addWarning("Unsupported matte type: Luma");
+ break;
+ case LUMA_INVERTED:
+ composition.addWarning("Unsupported matte type: Luma Inverted");
+ break;
+ }
composition.incrementMatteOrMaskCount(1);
break;
case 10: