Add logging for #524
diff --git a/lottie/src/main/java/com/airbnb/lottie/model/layer/CompositionLayer.java b/lottie/src/main/java/com/airbnb/lottie/model/layer/CompositionLayer.java
index 62c2227..f027390 100644
--- a/lottie/src/main/java/com/airbnb/lottie/model/layer/CompositionLayer.java
+++ b/lottie/src/main/java/com/airbnb/lottie/model/layer/CompositionLayer.java
@@ -67,6 +67,7 @@
for (int i = 0; i < layerMap.size(); i++) {
long key = layerMap.keyAt(i);
BaseLayer layerView = layerMap.get(key);
+ assertNonNullForGitHubIssue(layerMap, layerView);
BaseLayer parentLayer = layerMap.get(layerView.getLayerModel().getParentId());
if (parentLayer != null) {
layerView.setParentLayer(parentLayer);
@@ -74,6 +75,20 @@
}
}
+ /**
+ * Extra logging for https://github.com/airbnb/lottie-android/issues/524
+ */
+ private void assertNonNullForGitHubIssue(
+ LongSparseArray<BaseLayer> layerMap, BaseLayer layerView) {
+ if (layerMap == null) {
+ throw new NullPointerException("layerMap is null!");
+ } else if (layerView == null) {
+ throw new NullPointerException("layerView is null!");
+ } else if (layerView.getLayerModel() == null) {
+ throw new NullPointerException("layerModel is null!");
+ }
+ }
+
@Override void drawLayer(Canvas canvas, Matrix parentMatrix, int parentAlpha) {
L.beginSection("CompositionLayer#draw");
canvas.save();