From 5217ddbb34b830978f414e5bec75571498178520 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Thu, 29 Jan 2015 08:25:07 -0800 Subject: Fix crash if existing drawable is null when creating layer --- src/github/daneren2005/dsub/util/ImageLoader.java | 33 ++++++++++++----------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/github/daneren2005/dsub/util/ImageLoader.java b/src/github/daneren2005/dsub/util/ImageLoader.java index 41b4da03..9c87312a 100644 --- a/src/github/daneren2005/dsub/util/ImageLoader.java +++ b/src/github/daneren2005/dsub/util/ImageLoader.java @@ -315,22 +315,25 @@ public class ImageLoader { TransitionDrawable tmp = (TransitionDrawable) existingDrawable; existingDrawable = tmp.getDrawable(tmp.getNumberOfLayers() - 1); } - - Drawable[] layers = new Drawable[] {existingDrawable, drawable}; - final TransitionDrawable transitionDrawable = new TransitionDrawable(layers); - imageView.setImageDrawable(transitionDrawable); - transitionDrawable.startTransition(250); - - // Get rid of transition drawable after transition occurs - handler.postDelayed(new Runnable() { - @Override - public void run() { - // Only execute if still on same transition drawable - if(imageView.getDrawable() == transitionDrawable) { - imageView.setImageDrawable(drawable); + if(existingDrawable != null && drawable != null) { + Drawable[] layers = new Drawable[]{existingDrawable, drawable}; + final TransitionDrawable transitionDrawable = new TransitionDrawable(layers); + imageView.setImageDrawable(transitionDrawable); + transitionDrawable.startTransition(250); + + // Get rid of transition drawable after transition occurs + handler.postDelayed(new Runnable() { + @Override + public void run() { + // Only execute if still on same transition drawable + if (imageView.getDrawable() == transitionDrawable) { + imageView.setImageDrawable(drawable); + } } - } - }, 500L); + }, 500L); + } else { + imageView.setImageDrawable(drawable); + } } else { imageView.setImageDrawable(drawable); } -- cgit v1.2.3