public Map<String, KitInfo> call() throws Exception { HashMap localHashMap = new HashMap(); long l = SystemClock.elapsedRealtime(); int i = 0; ZipFile localZipFile = loadApkFile(); Enumeration localEnumeration = localZipFile.entries(); while (localEnumeration.hasMoreElements()) { int j = i + 1; Object localObject = (ZipEntry) localEnumeration.nextElement(); i = j; if (((ZipEntry) localObject).getName().startsWith("fabric/")) { localObject = loadKitInfo((ZipEntry) localObject, localZipFile); i = j; if (localObject != null) { localHashMap.put(((KitInfo) localObject).getIdentifier(), localObject); Fabric.getLogger() .v( "Fabric", String.format( "Found kit:[%s] version:[%s]", new Object[] { ((KitInfo) localObject).getIdentifier(), ((KitInfo) localObject).getVersion() })); i = j; } } } if (localZipFile != null) {} try { localZipFile.close(); Fabric.getLogger() .v( "Fabric", "finish scanning in " + (SystemClock.elapsedRealtime() - l) + " reading:" + i); return localHashMap; } catch (IOException localIOException) { for (; ; ) {} } }
private KitInfo loadKitInfo(ZipEntry paramZipEntry, ZipFile paramZipFile) { Object localObject1 = null; ZipFile localZipFile = null; try { paramZipFile = paramZipFile.getInputStream(paramZipEntry); localZipFile = paramZipFile; localObject1 = paramZipFile; localObject3 = new Properties(); localZipFile = paramZipFile; localObject1 = paramZipFile; ((Properties) localObject3).load(paramZipFile); localZipFile = paramZipFile; localObject1 = paramZipFile; localObject2 = ((Properties) localObject3).getProperty("fabric-identifier"); localZipFile = paramZipFile; localObject1 = paramZipFile; str = ((Properties) localObject3).getProperty("fabric-version"); localZipFile = paramZipFile; localObject1 = paramZipFile; localObject3 = ((Properties) localObject3).getProperty("fabric-build-type"); localZipFile = paramZipFile; localObject1 = paramZipFile; if (!TextUtils.isEmpty((CharSequence) localObject2)) { localZipFile = paramZipFile; localObject1 = paramZipFile; if (!TextUtils.isEmpty(str)) {} } else { localZipFile = paramZipFile; localObject1 = paramZipFile; throw new IllegalStateException("Invalid format of fabric file," + paramZipEntry.getName()); } } catch (IOException paramZipFile) { Object localObject3; String str; localObject1 = localZipFile; Fabric.getLogger() .e( "Fabric", "Error when parsing fabric properties " + paramZipEntry.getName(), paramZipFile); CommonUtils.closeQuietly(localZipFile); return null; localZipFile = paramZipFile; localObject1 = paramZipFile; Object localObject2 = new KitInfo((String) localObject2, str, (String) localObject3); CommonUtils.closeQuietly(paramZipFile); return (KitInfo) localObject2; } finally { CommonUtils.closeQuietly((Closeable) localObject1); } }