diff --git a/lottie/src/main/java/com/airbnb/lottie/network/NetworkFetcher.java b/lottie/src/main/java/com/airbnb/lottie/network/NetworkFetcher.java
index c3d31c7..028ee95 100644
--- a/lottie/src/main/java/com/airbnb/lottie/network/NetworkFetcher.java
+++ b/lottie/src/main/java/com/airbnb/lottie/network/NetworkFetcher.java
@@ -141,20 +141,16 @@
       // in the result which is more useful than failing here.
       contentType = "application/json";
     }
-    switch (contentType) {
-      case "application/zip":
-        Logger.debug("Handling zip response.");
-        extension = FileExtension.ZIP;
-        file = networkCache.writeTempCacheFile(connection.getInputStream(), extension);
-        result = LottieCompositionFactory.fromZipStreamSync(new ZipInputStream(new FileInputStream(file)), url);
-        break;
-      case "application/json":
-      default:
-        Logger.debug("Received json response.");
-        extension = FileExtension.JSON;
-        file = networkCache.writeTempCacheFile(connection.getInputStream(), extension);
-        result = LottieCompositionFactory.fromJsonInputStreamSync(new FileInputStream(new File(file.getAbsolutePath())), url);
-        break;
+    if (contentType.contains("application/zip")) {
+      Logger.debug("Handling zip response.");
+      extension = FileExtension.ZIP;
+      file = networkCache.writeTempCacheFile(connection.getInputStream(), extension);
+      result = LottieCompositionFactory.fromZipStreamSync(new ZipInputStream(new FileInputStream(file)), url);
+    } else {
+      Logger.debug("Received json response.");
+      extension = FileExtension.JSON;
+      file = networkCache.writeTempCacheFile(connection.getInputStream(), extension);
+      result = LottieCompositionFactory.fromJsonInputStreamSync(new FileInputStream(new File(file.getAbsolutePath())), url);
     }
 
     if (result.getValue() != null) {
