We get a GifHeader object, but it has 0 frames which eventually causes a divide by zero exception. Since the real problem is that we couldn't decode the gif, we check in the decoder if the decode failed and then simply return null.
This allows the intrinsic width and height to be constant which plays more nicely with the android framework.