Source/sources/com/google/appinventor/components/runtime/multidex/MultiDex.java
public static boolean install(android.content.Context r14, boolean r15) {
        /*
            r13 = 20
            r12 = 4
            r8 = 0
            r7 = 1
            java.util.Set<java.lang.String> r9 = installedApk
            r9.clear()
            java.lang.String r9 = "MultiDex"
            java.lang.StringBuilder r10 = new java.lang.StringBuilder
            r10.<init>()
            java.lang.String r11 = "install: doIt = "
            java.lang.StringBuilder r10 = r10.append(r11)
            java.lang.StringBuilder r10 = r10.append(r15)
            java.lang.String r10 = r10.toString()
            android.util.Log.i(r9, r10)
            boolean r9 = IS_VM_MULTIDEX_CAPABLE
            if (r9 == 0) goto L_0x002e
            java.lang.String r8 = "MultiDex"
            java.lang.String r9 = "VM has multidex support, MultiDex support library is disabled."
            android.util.Log.i(r8, r9)
        L_0x002d:
            return r7
        L_0x002e:
            int r9 = android.os.Build.VERSION.SDK_INT
            if (r9 >= r12) goto L_0x005d
            java.lang.RuntimeException r7 = new java.lang.RuntimeException
            java.lang.StringBuilder r8 = new java.lang.StringBuilder
            r8.<init>()
            java.lang.String r9 = "Multi dex installation failed. SDK "
            java.lang.StringBuilder r8 = r8.append(r9)
            int r9 = android.os.Build.VERSION.SDK_INT
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r9 = " is unsupported. Min SDK version is "
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.StringBuilder r8 = r8.append(r12)
            java.lang.String r9 = "."
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r8 = r8.toString()
            r7.<init>(r8)
            throw r7
        L_0x005d:
            android.content.pm.ApplicationInfo r1 = getApplicationInfo(r14)     // Catch:{ Exception -> 0x006b }
            if (r1 != 0) goto L_0x0096
            java.lang.String r8 = "MultiDex"
            java.lang.String r9 = "applicationInfo is null, returning"
            android.util.Log.d(r8, r9)     // Catch:{ Exception -> 0x006b }
            goto L_0x002d
        L_0x006b:
            r3 = move-exception
            java.lang.String r7 = "MultiDex"
            java.lang.String r8 = "Multidex installation failure"
            android.util.Log.e(r7, r8, r3)
            java.lang.RuntimeException r7 = new java.lang.RuntimeException
            java.lang.StringBuilder r8 = new java.lang.StringBuilder
            r8.<init>()
            java.lang.String r9 = "Multi dex installation failed ("
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r9 = r3.getMessage()
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r9 = ")."
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r8 = r8.toString()
            r7.<init>(r8)
            throw r7
        L_0x0096:
            java.util.Set<java.lang.String> r9 = installedApk     // Catch:{ Exception -> 0x006b }
            monitor-enter(r9)     // Catch:{ Exception -> 0x006b }
            java.lang.String r0 = r1.sourceDir     // Catch:{ all -> 0x00a5 }
            java.util.Set<java.lang.String> r10 = installedApk     // Catch:{ all -> 0x00a5 }
            boolean r10 = r10.contains(r0)     // Catch:{ all -> 0x00a5 }
            if (r10 == 0) goto L_0x00a8
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            goto L_0x002d
        L_0x00a5:
            r7 = move-exception
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            throw r7     // Catch:{ Exception -> 0x006b }
        L_0x00a8:
            java.util.Set<java.lang.String> r10 = installedApk     // Catch:{ all -> 0x00a5 }
            r10.add(r0)     // Catch:{ all -> 0x00a5 }
            int r10 = android.os.Build.VERSION.SDK_INT     // Catch:{ all -> 0x00a5 }
            if (r10 <= r13) goto L_0x00ed
            java.lang.String r10 = "MultiDex"
            java.lang.StringBuilder r11 = new java.lang.StringBuilder     // Catch:{ all -> 0x00a5 }
            r11.<init>()     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = "MultiDex is not guaranteed to work in SDK version "
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            int r12 = android.os.Build.VERSION.SDK_INT     // Catch:{ all -> 0x00a5 }
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = ": SDK version higher than "
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            r12 = 20
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = " should be backed by runtime with built-in multidex capabilty but it's not the case here: java.vm.version=\""
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = "java.vm.version"
            java.lang.String r12 = java.lang.System.getProperty(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = "\""
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r11 = r11.toString()     // Catch:{ all -> 0x00a5 }
            android.util.Log.w(r10, r11)     // Catch:{ all -> 0x00a5 }
        L_0x00ed:
            java.lang.ClassLoader r5 = r14.getClassLoader()     // Catch:{ RuntimeException -> 0x00fd }
            if (r5 != 0) goto L_0x0108
            java.lang.String r8 = "MultiDex"
            java.lang.String r10 = "Context class loader is null. Must be running in test mode. Skip patching."
            android.util.Log.e(r8, r10)     // Catch:{ all -> 0x00a5 }
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            goto L_0x002d
        L_0x00fd:
            r3 = move-exception
            java.lang.String r8 = "MultiDex"
            java.lang.String r10 = "Failure while trying to obtain Context class loader. Must be running in test mode. Skip patching."
            android.util.Log.w(r8, r10, r3)     // Catch:{ all -> 0x00a5 }
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            goto L_0x002d
        L_0x0108:
            clearOldDexDir(r14)     // Catch:{ Throwable -> 0x0127 }
        L_0x010b:
            java.io.File r2 = new java.io.File     // Catch:{ all -> 0x00a5 }
            java.lang.String r10 = r1.dataDir     // Catch:{ all -> 0x00a5 }
            java.lang.String r11 = SECONDARY_FOLDER_NAME     // Catch:{ all -> 0x00a5 }
            r2.<init>(r10, r11)     // Catch:{ all -> 0x00a5 }
            if (r15 != 0) goto L_0x0130
            boolean r10 = com.google.appinventor.components.runtime.multidex.MultiDexExtractor.mustLoad(r14, r1)     // Catch:{ all -> 0x00a5 }
            if (r10 == 0) goto L_0x0130
            java.lang.String r7 = "MultiDex"
            java.lang.String r10 = "Returning because of mustLoad"
            android.util.Log.d(r7, r10)     // Catch:{ all -> 0x00a5 }
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            r7 = r8
            goto L_0x002d
        L_0x0127:
            r6 = move-exception
            java.lang.String r10 = "MultiDex"
            java.lang.String r11 = "Something went wrong when trying to clear old MultiDex extraction, continuing without cleaning."
            android.util.Log.w(r10, r11, r6)     // Catch:{ all -> 0x00a5 }
            goto L_0x010b
        L_0x0130:
            java.lang.String r8 = "MultiDex"
            java.lang.String r10 = "Proceeding with installation..."
            android.util.Log.d(r8, r10)     // Catch:{ all -> 0x00a5 }
            r8 = 0
            java.util.List r4 = com.google.appinventor.components.runtime.multidex.MultiDexExtractor.load(r14, r1, r2, r8)     // Catch:{ all -> 0x00a5 }
            boolean r8 = checkValidZipFiles(r4)     // Catch:{ all -> 0x00a5 }
            if (r8 == 0) goto L_0x014f
            installSecondaryDexes(r5, r2, r4)     // Catch:{ all -> 0x00a5 }
        L_0x0145:
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            java.lang.String r8 = "MultiDex"
            java.lang.String r9 = "install done"
            android.util.Log.i(r8, r9)
            goto L_0x002d
        L_0x014f:
            java.lang.String r8 = "MultiDex"
            java.lang.String r10 = "Files were not valid zip files.  Forcing a reload."
            android.util.Log.w(r8, r10)     // Catch:{ all -> 0x00a5 }
            r8 = 1
            java.util.List r4 = com.google.appinventor.components.runtime.multidex.MultiDexExtractor.load(r14, r1, r2, r8)     // Catch:{ all -> 0x00a5 }
            boolean r8 = checkValidZipFiles(r4)     // Catch:{ all -> 0x00a5 }
            if (r8 == 0) goto L_0x0165
            installSecondaryDexes(r5, r2, r4)     // Catch:{ all -> 0x00a5 }
            goto L_0x0145
        L_0x0165:
            java.lang.RuntimeException r7 = new java.lang.RuntimeException     // Catch:{ all -> 0x00a5 }
            java.lang.String r8 = "Zip files were not valid."
            r7.<init>(r8)     // Catch:{ all -> 0x00a5 }
            throw r7     // Catch:{ all -> 0x00a5 }
        */
        throw new UnsupportedOperationException("Method not decompiled: com.google.appinventor.components.runtime.multidex.MultiDex.install(android.content.Context, boolean):boolean");
    }
/* Code decompiled incorrectly, please refer to instructions dump. */
Code decompiled incorrectly, please refer to instructions dump.
Code decompiled incorrectly please refer to instructions dump .
public static boolean install(android.content.Context r14, boolean r15) {
        /*
            r13 = 20
            r12 = 4
            r8 = 0
            r7 = 1
            java.util.Set<java.lang.String> r9 = installedApk
            r9.clear()
            java.lang.String r9 = "MultiDex"
            java.lang.StringBuilder r10 = new java.lang.StringBuilder
            r10.<init>()
            java.lang.String r11 = "install: doIt = "
            java.lang.StringBuilder r10 = r10.append(r11)
            java.lang.StringBuilder r10 = r10.append(r15)
            java.lang.String r10 = r10.toString()
            android.util.Log.i(r9, r10)
            boolean r9 = IS_VM_MULTIDEX_CAPABLE
            if (r9 == 0) goto L_0x002e
            java.lang.String r8 = "MultiDex"
            java.lang.String r9 = "VM has multidex support, MultiDex support library is disabled."
            android.util.Log.i(r8, r9)
        L_0x002d:
            return r7
        L_0x002e:
            int r9 = android.os.Build.VERSION.SDK_INT
            if (r9 >= r12) goto L_0x005d
            java.lang.RuntimeException r7 = new java.lang.RuntimeException
            java.lang.StringBuilder r8 = new java.lang.StringBuilder
            r8.<init>()
            java.lang.String r9 = "Multi dex installation failed. SDK "
            java.lang.StringBuilder r8 = r8.append(r9)
            int r9 = android.os.Build.VERSION.SDK_INT
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r9 = " is unsupported. Min SDK version is "
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.StringBuilder r8 = r8.append(r12)
            java.lang.String r9 = "."
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r8 = r8.toString()
            r7.<init>(r8)
            throw r7
        L_0x005d:
            android.content.pm.ApplicationInfo r1 = getApplicationInfo(r14)     // Catch:{ Exception -> 0x006b }
            if (r1 != 0) goto L_0x0096
            java.lang.String r8 = "MultiDex"
            java.lang.String r9 = "applicationInfo is null, returning"
            android.util.Log.d(r8, r9)     // Catch:{ Exception -> 0x006b }
            goto L_0x002d
        L_0x006b:
            r3 = move-exception
            java.lang.String r7 = "MultiDex"
            java.lang.String r8 = "Multidex installation failure"
            android.util.Log.e(r7, r8, r3)
            java.lang.RuntimeException r7 = new java.lang.RuntimeException
            java.lang.StringBuilder r8 = new java.lang.StringBuilder
            r8.<init>()
            java.lang.String r9 = "Multi dex installation failed ("
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r9 = r3.getMessage()
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r9 = ")."
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r8 = r8.toString()
            r7.<init>(r8)
            throw r7
        L_0x0096:
            java.util.Set<java.lang.String> r9 = installedApk     // Catch:{ Exception -> 0x006b }
            monitor-enter(r9)     // Catch:{ Exception -> 0x006b }
            java.lang.String r0 = r1.sourceDir     // Catch:{ all -> 0x00a5 }
            java.util.Set<java.lang.String> r10 = installedApk     // Catch:{ all -> 0x00a5 }
            boolean r10 = r10.contains(r0)     // Catch:{ all -> 0x00a5 }
            if (r10 == 0) goto L_0x00a8
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            goto L_0x002d
        L_0x00a5:
            r7 = move-exception
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            throw r7     // Catch:{ Exception -> 0x006b }
        L_0x00a8:
            java.util.Set<java.lang.String> r10 = installedApk     // Catch:{ all -> 0x00a5 }
            r10.add(r0)     // Catch:{ all -> 0x00a5 }
            int r10 = android.os.Build.VERSION.SDK_INT     // Catch:{ all -> 0x00a5 }
            if (r10 <= r13) goto L_0x00ed
            java.lang.String r10 = "MultiDex"
            java.lang.StringBuilder r11 = new java.lang.StringBuilder     // Catch:{ all -> 0x00a5 }
            r11.<init>()     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = "MultiDex is not guaranteed to work in SDK version "
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            int r12 = android.os.Build.VERSION.SDK_INT     // Catch:{ all -> 0x00a5 }
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = ": SDK version higher than "
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            r12 = 20
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = " should be backed by runtime with built-in multidex capabilty but it's not the case here: java.vm.version=\""
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = "java.vm.version"
            java.lang.String r12 = java.lang.System.getProperty(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = "\""
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r11 = r11.toString()     // Catch:{ all -> 0x00a5 }
            android.util.Log.w(r10, r11)     // Catch:{ all -> 0x00a5 }
        L_0x00ed:
            java.lang.ClassLoader r5 = r14.getClassLoader()     // Catch:{ RuntimeException -> 0x00fd }
            if (r5 != 0) goto L_0x0108
            java.lang.String r8 = "MultiDex"
            java.lang.String r10 = "Context class loader is null. Must be running in test mode. Skip patching."
            android.util.Log.e(r8, r10)     // Catch:{ all -> 0x00a5 }
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            goto L_0x002d
        L_0x00fd:
            r3 = move-exception
            java.lang.String r8 = "MultiDex"
            java.lang.String r10 = "Failure while trying to obtain Context class loader. Must be running in test mode. Skip patching."
            android.util.Log.w(r8, r10, r3)     // Catch:{ all -> 0x00a5 }
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            goto L_0x002d
        L_0x0108:
            clearOldDexDir(r14)     // Catch:{ Throwable -> 0x0127 }
        L_0x010b:
            java.io.File r2 = new java.io.File     // Catch:{ all -> 0x00a5 }
            java.lang.String r10 = r1.dataDir     // Catch:{ all -> 0x00a5 }
            java.lang.String r11 = SECONDARY_FOLDER_NAME     // Catch:{ all -> 0x00a5 }
            r2.<init>(r10, r11)     // Catch:{ all -> 0x00a5 }
            if (r15 != 0) goto L_0x0130
            boolean r10 = com.google.appinventor.components.runtime.multidex.MultiDexExtractor.mustLoad(r14, r1)     // Catch:{ all -> 0x00a5 }
            if (r10 == 0) goto L_0x0130
            java.lang.String r7 = "MultiDex"
            java.lang.String r10 = "Returning because of mustLoad"
            android.util.Log.d(r7, r10)     // Catch:{ all -> 0x00a5 }
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            r7 = r8
            goto L_0x002d
        L_0x0127:
            r6 = move-exception
            java.lang.String r10 = "MultiDex"
            java.lang.String r11 = "Something went wrong when trying to clear old MultiDex extraction, continuing without cleaning."
            android.util.Log.w(r10, r11, r6)     // Catch:{ all -> 0x00a5 }
            goto L_0x010b
        L_0x0130:
            java.lang.String r8 = "MultiDex"
            java.lang.String r10 = "Proceeding with installation..."
            android.util.Log.d(r8, r10)     // Catch:{ all -> 0x00a5 }
            r8 = 0
            java.util.List r4 = com.google.appinventor.components.runtime.multidex.MultiDexExtractor.load(r14, r1, r2, r8)     // Catch:{ all -> 0x00a5 }
            boolean r8 = checkValidZipFiles(r4)     // Catch:{ all -> 0x00a5 }
            if (r8 == 0) goto L_0x014f
            installSecondaryDexes(r5, r2, r4)     // Catch:{ all -> 0x00a5 }
        L_0x0145:
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            java.lang.String r8 = "MultiDex"
            java.lang.String r9 = "install done"
            android.util.Log.i(r8, r9)
            goto L_0x002d
        L_0x014f:
            java.lang.String r8 = "MultiDex"
            java.lang.String r10 = "Files were not valid zip files.  Forcing a reload."
            android.util.Log.w(r8, r10)     // Catch:{ all -> 0x00a5 }
            r8 = 1
            java.util.List r4 = com.google.appinventor.components.runtime.multidex.MultiDexExtractor.load(r14, r1, r2, r8)     // Catch:{ all -> 0x00a5 }
            boolean r8 = checkValidZipFiles(r4)     // Catch:{ all -> 0x00a5 }
            if (r8 == 0) goto L_0x0165
            installSecondaryDexes(r5, r2, r4)     // Catch:{ all -> 0x00a5 }
            goto L_0x0145
        L_0x0165:
            java.lang.RuntimeException r7 = new java.lang.RuntimeException     // Catch:{ all -> 0x00a5 }
            java.lang.String r8 = "Zip files were not valid."
            r7.<init>(r8)     // Catch:{ all -> 0x00a5 }
            throw r7     // Catch:{ all -> 0x00a5 }
        */
        throw new UnsupportedOperationException("Method not decompiled: com.google.appinventor.components.runtime.multidex.MultiDex.install(android.content.Context, boolean):boolean");
    }
public static boolean install ( android . content . Context r14 , boolean r15 ) { /*
            r13 = 20
            r12 = 4
            r8 = 0
            r7 = 1
            java.util.Set<java.lang.String> r9 = installedApk
            r9.clear()
            java.lang.String r9 = "MultiDex"
            java.lang.StringBuilder r10 = new java.lang.StringBuilder
            r10.<init>()
            java.lang.String r11 = "install: doIt = "
            java.lang.StringBuilder r10 = r10.append(r11)
            java.lang.StringBuilder r10 = r10.append(r15)
            java.lang.String r10 = r10.toString()
            android.util.Log.i(r9, r10)
            boolean r9 = IS_VM_MULTIDEX_CAPABLE
            if (r9 == 0) goto L_0x002e
            java.lang.String r8 = "MultiDex"
            java.lang.String r9 = "VM has multidex support, MultiDex support library is disabled."
            android.util.Log.i(r8, r9)
        L_0x002d:
            return r7
        L_0x002e:
            int r9 = android.os.Build.VERSION.SDK_INT
            if (r9 >= r12) goto L_0x005d
            java.lang.RuntimeException r7 = new java.lang.RuntimeException
            java.lang.StringBuilder r8 = new java.lang.StringBuilder
            r8.<init>()
            java.lang.String r9 = "Multi dex installation failed. SDK "
            java.lang.StringBuilder r8 = r8.append(r9)
            int r9 = android.os.Build.VERSION.SDK_INT
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r9 = " is unsupported. Min SDK version is "
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.StringBuilder r8 = r8.append(r12)
            java.lang.String r9 = "."
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r8 = r8.toString()
            r7.<init>(r8)
            throw r7
        L_0x005d:
            android.content.pm.ApplicationInfo r1 = getApplicationInfo(r14)     // Catch:{ Exception -> 0x006b }
            if (r1 != 0) goto L_0x0096
            java.lang.String r8 = "MultiDex"
            java.lang.String r9 = "applicationInfo is null, returning"
            android.util.Log.d(r8, r9)     // Catch:{ Exception -> 0x006b }
            goto L_0x002d
        L_0x006b:
            r3 = move-exception
            java.lang.String r7 = "MultiDex"
            java.lang.String r8 = "Multidex installation failure"
            android.util.Log.e(r7, r8, r3)
            java.lang.RuntimeException r7 = new java.lang.RuntimeException
            java.lang.StringBuilder r8 = new java.lang.StringBuilder
            r8.<init>()
            java.lang.String r9 = "Multi dex installation failed ("
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r9 = r3.getMessage()
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r9 = ")."
            java.lang.StringBuilder r8 = r8.append(r9)
            java.lang.String r8 = r8.toString()
            r7.<init>(r8)
            throw r7
        L_0x0096:
            java.util.Set<java.lang.String> r9 = installedApk     // Catch:{ Exception -> 0x006b }
            monitor-enter(r9)     // Catch:{ Exception -> 0x006b }
            java.lang.String r0 = r1.sourceDir     // Catch:{ all -> 0x00a5 }
            java.util.Set<java.lang.String> r10 = installedApk     // Catch:{ all -> 0x00a5 }
            boolean r10 = r10.contains(r0)     // Catch:{ all -> 0x00a5 }
            if (r10 == 0) goto L_0x00a8
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            goto L_0x002d
        L_0x00a5:
            r7 = move-exception
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            throw r7     // Catch:{ Exception -> 0x006b }
        L_0x00a8:
            java.util.Set<java.lang.String> r10 = installedApk     // Catch:{ all -> 0x00a5 }
            r10.add(r0)     // Catch:{ all -> 0x00a5 }
            int r10 = android.os.Build.VERSION.SDK_INT     // Catch:{ all -> 0x00a5 }
            if (r10 <= r13) goto L_0x00ed
            java.lang.String r10 = "MultiDex"
            java.lang.StringBuilder r11 = new java.lang.StringBuilder     // Catch:{ all -> 0x00a5 }
            r11.<init>()     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = "MultiDex is not guaranteed to work in SDK version "
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            int r12 = android.os.Build.VERSION.SDK_INT     // Catch:{ all -> 0x00a5 }
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = ": SDK version higher than "
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            r12 = 20
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = " should be backed by runtime with built-in multidex capabilty but it's not the case here: java.vm.version=\""
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = "java.vm.version"
            java.lang.String r12 = java.lang.System.getProperty(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r12 = "\""
            java.lang.StringBuilder r11 = r11.append(r12)     // Catch:{ all -> 0x00a5 }
            java.lang.String r11 = r11.toString()     // Catch:{ all -> 0x00a5 }
            android.util.Log.w(r10, r11)     // Catch:{ all -> 0x00a5 }
        L_0x00ed:
            java.lang.ClassLoader r5 = r14.getClassLoader()     // Catch:{ RuntimeException -> 0x00fd }
            if (r5 != 0) goto L_0x0108
            java.lang.String r8 = "MultiDex"
            java.lang.String r10 = "Context class loader is null. Must be running in test mode. Skip patching."
            android.util.Log.e(r8, r10)     // Catch:{ all -> 0x00a5 }
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            goto L_0x002d
        L_0x00fd:
            r3 = move-exception
            java.lang.String r8 = "MultiDex"
            java.lang.String r10 = "Failure while trying to obtain Context class loader. Must be running in test mode. Skip patching."
            android.util.Log.w(r8, r10, r3)     // Catch:{ all -> 0x00a5 }
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            goto L_0x002d
        L_0x0108:
            clearOldDexDir(r14)     // Catch:{ Throwable -> 0x0127 }
        L_0x010b:
            java.io.File r2 = new java.io.File     // Catch:{ all -> 0x00a5 }
            java.lang.String r10 = r1.dataDir     // Catch:{ all -> 0x00a5 }
            java.lang.String r11 = SECONDARY_FOLDER_NAME     // Catch:{ all -> 0x00a5 }
            r2.<init>(r10, r11)     // Catch:{ all -> 0x00a5 }
            if (r15 != 0) goto L_0x0130
            boolean r10 = com.google.appinventor.components.runtime.multidex.MultiDexExtractor.mustLoad(r14, r1)     // Catch:{ all -> 0x00a5 }
            if (r10 == 0) goto L_0x0130
            java.lang.String r7 = "MultiDex"
            java.lang.String r10 = "Returning because of mustLoad"
            android.util.Log.d(r7, r10)     // Catch:{ all -> 0x00a5 }
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            r7 = r8
            goto L_0x002d
        L_0x0127:
            r6 = move-exception
            java.lang.String r10 = "MultiDex"
            java.lang.String r11 = "Something went wrong when trying to clear old MultiDex extraction, continuing without cleaning."
            android.util.Log.w(r10, r11, r6)     // Catch:{ all -> 0x00a5 }
            goto L_0x010b
        L_0x0130:
            java.lang.String r8 = "MultiDex"
            java.lang.String r10 = "Proceeding with installation..."
            android.util.Log.d(r8, r10)     // Catch:{ all -> 0x00a5 }
            r8 = 0
            java.util.List r4 = com.google.appinventor.components.runtime.multidex.MultiDexExtractor.load(r14, r1, r2, r8)     // Catch:{ all -> 0x00a5 }
            boolean r8 = checkValidZipFiles(r4)     // Catch:{ all -> 0x00a5 }
            if (r8 == 0) goto L_0x014f
            installSecondaryDexes(r5, r2, r4)     // Catch:{ all -> 0x00a5 }
        L_0x0145:
            monitor-exit(r9)     // Catch:{ all -> 0x00a5 }
            java.lang.String r8 = "MultiDex"
            java.lang.String r9 = "install done"
            android.util.Log.i(r8, r9)
            goto L_0x002d
        L_0x014f:
            java.lang.String r8 = "MultiDex"
            java.lang.String r10 = "Files were not valid zip files.  Forcing a reload."
            android.util.Log.w(r8, r10)     // Catch:{ all -> 0x00a5 }
            r8 = 1
            java.util.List r4 = com.google.appinventor.components.runtime.multidex.MultiDexExtractor.load(r14, r1, r2, r8)     // Catch:{ all -> 0x00a5 }
            boolean r8 = checkValidZipFiles(r4)     // Catch:{ all -> 0x00a5 }
            if (r8 == 0) goto L_0x0165
            installSecondaryDexes(r5, r2, r4)     // Catch:{ all -> 0x00a5 }
            goto L_0x0145
        L_0x0165:
            java.lang.RuntimeException r7 = new java.lang.RuntimeException     // Catch:{ all -> 0x00a5 }
            java.lang.String r8 = "Zip files were not valid."
            r7.<init>(r8)     // Catch:{ all -> 0x00a5 }
            throw r7     // Catch:{ all -> 0x00a5 }
        */ throw new UnsupportedOperationException ( "Method not decompiled: com.google.appinventor.components.runtime.multidex.MultiDex.install(android.content.Context, boolean):boolean" ) ; }
Code decompiled incorrectly, please refer to instructions dump.
Code decompiled incorrectly please refer to instructions dump .