Info Call to External Storage API

Description

List of all external storage API calls. Insecure storage of sensitive information by setting insecure permissions or storing data without encryption might expose this information to an attacker.

Recommendation

This entry is informative, no recommendations applicable.

Technical details

Method org.spongycastle.jce.examples.PKCS12Example.main() calling method java.io.FileOutputStream.<init>()


    public static void main(String[] p30)
    {
        java.security.Security.addProvider(new org.spongycastle.jce.provider.BouncyCastleProvider());
        java.security.spec.RSAPublicKeySpec v26 = new java.security.spec.RSAPublicKeySpec;
        v26(new java.math.BigInteger("b4a7e46170574f16a97082b22be58b6a2a629798419be12872a4bdba626cfae9900f76abfb12139dce5de56564fab2b6543165a040c606887420e33d91ed7ed7", 16), new java.math.BigInteger("11", 16));
        java.security.spec.RSAPrivateCrtKeySpec v3_1 = new java.security.spec.RSAPrivateCrtKeySpec(new java.math.BigInteger("b4a7e46170574f16a97082b22be58b6a2a629798419be12872a4bdba626cfae9900f76abfb12139dce5de56564fab2b6543165a040c606887420e33d91ed7ed7", 16), new java.math.BigInteger("11", 16), new java.math.BigInteger("9f66f6b05410cd503b2709e88115d55daced94d1a34d4e32bf824d0dde6028ae79c5f07b580f5dce240d7111f7ddb130a7945cd7d957d1920994da389f490c89", 16), new java.math.BigInteger("c0a0758cdf14256f78d4708c86becdead1b50ad4ad6c5c703e2168fbf37884cb", 16), new java.math.BigInteger("f01734d7960ea60070f1b06f2bb81bfac48ff192ae18451d5e56c734a5aab8a5", 16), new java.math.BigInteger("b54bb9edff22051d9ee60f9351a48591b6500a319429c069a3e335a1d6171391", 16), new java.math.BigInteger("d3d83daf2a0cecd3367ae6f8ae1aeb82e9ac2f816c6fc483533d8297dd7884cd", 16), new java.math.BigInteger("b8f52fc6f38593dabb661d3f50f8897f8106eee68b1bce78a95b132b4e5b5d19", 16));
        java.security.spec.RSAPublicKeySpec v23 = new java.security.spec.RSAPublicKeySpec;
        v23(new java.math.BigInteger("8de0d113c5e736969c8d2b047a243f8fe18edad64cde9e842d3669230ca486f7cfdde1f8eec54d1905fff04acc85e61093e180cadc6cea407f193d44bb0e9449b8dbb49784cd9e36260c39e06a947299978c6ed8300724e887198cfede20f3fbde658fa2bd078be946a392bd349f2b49c486e20c405588e306706c9017308e69", 16), new java.math.BigInteger("ffff", 16));
        java.security.spec.RSAPrivateCrtKeySpec v4_3 = new java.security.spec.RSAPrivateCrtKeySpec(new java.math.BigInteger("8de0d113c5e736969c8d2b047a243f8fe18edad64cde9e842d3669230ca486f7cfdde1f8eec54d1905fff04acc85e61093e180cadc6cea407f193d44bb0e9449b8dbb49784cd9e36260c39e06a947299978c6ed8300724e887198cfede20f3fbde658fa2bd078be946a392bd349f2b49c486e20c405588e306706c9017308e69", 16), new java.math.BigInteger("ffff", 16), new java.math.BigInteger("7deb1b194a85bcfd29cf871411468adbc987650903e3bacc8338c449ca7b32efd39ffc33bc84412fcd7df18d23ce9d7c25ea910b1ae9985373e0273b4dca7f2e0db3b7314056ac67fd277f8f89cf2fd73c34c6ca69f9ba477143d2b0e2445548aa0b4a8473095182631da46844c356f5e5c7522eb54b5a33f11d730ead9c0cff", 16), new java.math.BigInteger("ef4cede573cea47f83699b814de4302edb60eefe426c52e17bd7870ec7c6b7a24fe55282ebb73775f369157726fcfb988def2b40350bdca9e5b418340288f649", 16), new java.math.BigInteger("97c7737d1b9a0088c3c7b528539247fd2a1593e7e01cef18848755be82f4a45aa093276cb0cbf118cb41117540a78f3fc471ba5d69f0042274defc9161265721", 16), new java.math.BigInteger("6c641094e24d172728b8da3c2777e69adfd0839085be7e38c7c4a2dd00b1ae969f2ec9d23e7e37090fcd449a40af0ed463fe1c612d6810d6b4f58b7bfa31eb5f", 16), new java.math.BigInteger("70b7123e8e69dfa76feb1236d0a686144b00e9232ed52b73847e74ef3af71fb45ccb24261f40d27f98101e230cf27b977a5d5f1f15f6cf48d5cb1da2a3a3b87f", 16), new java.math.BigInteger("e38f5750d97e270996a286df2e653fd26c242106436f5bab0f4c7a9e654ce02665d5a281f2c412456f2d1fa26586ef04a9adac9004ca7f913162cb28e13bf40d", 16));
        java.security.spec.RSAPublicKeySpec v17 = new java.security.spec.RSAPublicKeySpec;
        v17(new java.math.BigInteger("b259d2d6e627a768c94be36164c2d9fc79d97aab9253140e5bf17751197731d6f7540d2509e7b9ffee0a70a6e26d56e92d2edd7f85aba85600b69089f35f6bdbf3c298e05842535d9f064e6b0391cb7d306e0a2d20c4dfb4e7b49a9640bdea26c10ad69c3f05007ce2513cee44cfe01998e62b6c3637d3fc0391079b26ee36d5", 16), new java.math.BigInteger("11", 16));
        java.security.spec.RSAPrivateCrtKeySpec v5_1 = new java.security.spec.RSAPrivateCrtKeySpec(new java.math.BigInteger("b259d2d6e627a768c94be36164c2d9fc79d97aab9253140e5bf17751197731d6f7540d2509e7b9ffee0a70a6e26d56e92d2edd7f85aba85600b69089f35f6bdbf3c298e05842535d9f064e6b0391cb7d306e0a2d20c4dfb4e7b49a9640bdea26c10ad69c3f05007ce2513cee44cfe01998e62b6c3637d3fc0391079b26ee36d5", 16), new java.math.BigInteger("11", 16), new java.math.BigInteger("92e08f83cc9920746989ca5034dcb384a094fb9c5a6288fcc4304424ab8f56388f72652d8fafc65a4b9020896f2cde297080f2a540e7b7ce5af0b3446e1258d1dd7f245cf54124b4c6e17da21b90a0ebd22605e6f45c9f136d7a13eaac1c0f7487de8bd6d924972408ebb58af71e76fd7b012a8d0e165f3ae2e5077a8648e619", 16), new java.math.BigInteger("f75e80839b9b9379f1cf1128f321639757dba514642c206bbbd99f9a4846208b3e93fbbe5e0527cc59b1d4b929d9555853004c7c8b30ee6a213c3d1bb7415d03", 16), new java.math.BigInteger("b892d9ebdbfc37e397256dd8a5d3123534d1f03726284743ddc6be3a709edb696fc40c7d902ed804c6eee730eee3d5b20bf6bd8d87a296813c87d3b3cc9d7947", 16), new java.math.BigInteger("1d1a2d3ca8e52068b3094d501c9a842fec37f54db16e9a67070a8b3f53cc03d4257ad252a1a640eadd603724d7bf3737914b544ae332eedf4f34436cac25ceb5", 16), new java.math.BigInteger("6c929e4e81672fef49d9c825163fec97c4b7ba7acb26c0824638ac22605d7201c94625770984f78a56e6e25904fe7db407099cad9b14588841b94f5ab498dded", 16), new java.math.BigInteger("dae7651ee69ad1d081ec5e7188ae126f6004ff39556bde90e0b870962fa7b926d070686d8244fe5a9aa709a95686a104614834b0ada4b10f53197a5cb4c97339", 16));
        java.security.KeyFactory v20 = java.security.KeyFactory.getInstance("RSA", org.spongycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME);
        java.security.PrivateKey v15 = v20.generatePrivate(v5_1);
        java.security.PublicKey v16 = v20.generatePublic(v17);
        java.security.PrivateKey v21 = v20.generatePrivate(v4_3);
        java.security.PublicKey v22 = v20.generatePublic(v23);
        java.security.PrivateKey v24 = v20.generatePrivate(v3_1);
        java.security.PublicKey v25 = v20.generatePublic(v26);
        java.security.KeyStore v0_10 = new java.security.cert.Certificate[3];
        java.security.cert.Certificate[] v18 = v0_10;
        v18[2] = org.spongycastle.jce.examples.PKCS12Example.createMasterCert(v16, v15);
        v18[1] = org.spongycastle.jce.examples.PKCS12Example.createIntermediateCert(v22, v15, ((java.security.cert.X509Certificate) v18[2]));
        v18[0] = org.spongycastle.jce.examples.PKCS12Example.createCert(v25, v21, v22);
        org.spongycastle.jce.interfaces.PKCS12BagAttributeCarrier v14_1 = ((org.spongycastle.jce.interfaces.PKCS12BagAttributeCarrier) v24);
        v14_1.setBagAttribute(org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_9_at_friendlyName, new org.spongycastle.asn1.DERBMPString("Eric\'s Key"));
        v14_1.setBagAttribute(org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_9_at_localKeyId, new org.spongycastle.x509.extension.SubjectKeyIdentifierStructure(v25));
        java.security.KeyStore v27 = java.security.KeyStore.getInstance("PKCS12", org.spongycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME);
        v27.load(0, 0);
        v27.setKeyEntry("Eric\'s Key", v24, 0, v18);
        java.io.FileOutputStream v19 = new java.io.FileOutputStream;
        v19("id.p12");
        v27.store(v19, org.spongycastle.jce.examples.PKCS12Example.passwd);
        v19.close();
        return;
    }

Method org.spongycastle.crypto.examples.DESExample.<init>() calling method java.io.FileOutputStream.<init>()


    public DESExample(String p16, String p17, String p18, boolean p19)
    {
        this.encrypt = 1;
        this.cipher = 0;
        this.in = 0;
        this.out = 0;
        this.key = 0;
        this.encrypt = p19;
        try {
            this.in = new java.io.BufferedInputStream(new java.io.FileInputStream(p16));
            try {
                this.out = new java.io.BufferedOutputStream(new java.io.FileOutputStream(p17));
            } catch (java.io.IOException v2) {
                System.err.println(new StringBuilder().append("Output file not created [").append(p17).append("]").toString());
                System.exit(1);
            }
            if (!p19) {
                try {
                    java.io.BufferedOutputStream v5_3 = new java.io.BufferedInputStream(new java.io.FileInputStream(p18));
                    int v8 = v5_3.available();
                    byte[] v4_1 = new byte[v8];
                    v5_3.read(v4_1, 0, v8);
                    this.key = org.spongycastle.util.encoders.Hex.decode(v4_1);
                } catch (java.io.IOException v3) {
                    System.err.println(new StringBuilder().append("Decryption key file not found, or not valid [").append(p18).append("]").toString());
                    System.exit(1);
                }
            } else {
                java.security.SecureRandom v10 = 0;
                try {
                    java.security.SecureRandom v11_1 = new java.security.SecureRandom();
                    try {
                        v11_1.setSeed("www.spongycastle.org".getBytes());
                        v10 = v11_1;
                    } catch (Exception v9) {
                        v10 = v11_1;
                        System.err.println("Hmmm, no SHA1PRNG, you need the Sun implementation");
                        System.exit(1);
                    } catch (java.io.IOException v1) {
                        System.err.println(new StringBuilder().append("Could not decryption create key file [").append(p18).append("]").toString());
                        System.exit(1);
                    }
                    org.spongycastle.crypto.KeyGenerationParameters v7_1 = new org.spongycastle.crypto.KeyGenerationParameters(v10, 192);
                    org.spongycastle.crypto.generators.DESedeKeyGenerator v6_1 = new org.spongycastle.crypto.generators.DESedeKeyGenerator();
                    v6_1.init(v7_1);
                    this.key = v6_1.generateKey();
                    java.io.BufferedOutputStream v5_1 = new java.io.BufferedOutputStream(new java.io.FileOutputStream(p18));
                    byte[] v4_0 = org.spongycastle.util.encoders.Hex.encode(this.key);
                    v5_1.write(v4_0, 0, v4_0.length);
                    v5_1.flush();
                    v5_1.close();
                } catch (Exception v9) {
                } catch (java.io.IOException v1) {
                }
            }
            return;
        } catch (java.io.IOException v2) {
            System.err.println(new StringBuilder().append("Input file not found [").append(p16).append("]").toString());
            System.exit(1);
        }
    }

Method okio.Okio.sink() calling method java.io.FileOutputStream.<init>()


    public static okio.Sink sink(java.io.File p2)
    {
        if (p2 != null) {
            return okio.Okio.sink(new java.io.FileOutputStream(p2));
        } else {
            throw new IllegalArgumentException("file == null");
        }
    }

Method okio.Okio.appendingSink() calling method java.io.FileOutputStream.<init>()


    public static okio.Sink appendingSink(java.io.File p2)
    {
        if (p2 != null) {
            return okio.Okio.sink(new java.io.FileOutputStream(p2, 1));
        } else {
            throw new IllegalArgumentException("file == null");
        }
    }

Method net.monius.data.DataContext.copy() calling method java.io.FileOutputStream.<init>()


    private static boolean copy(android.content.Context p8)
    {
        int v5 = 0;
        try {
            java.io.InputStream v1 = p8.getAssets().open("monius.db");
            java.io.FileOutputStream v3_0 = new java.io.FileOutputStream(new StringBuilder().append(net.monius.data.DataContext._databasePath).append("monius.db").toString());
            byte[] v0 = new byte[1024];
        } catch (Throwable v4) {
            net.monius.data.DataContext.logger.error("copy failed:", v4);
            return v5;
        }
        while(true) {
            int v2 = v1.read(v0);
            if (v2 <= 0) {
                break;
            }
            v3_0.write(v0, 0, v2);
        }
        v3_0.flush();
        v3_0.close();
        v1.close();
        v5 = 1;
        return v5;
    }

Method com.google.android.gms.tagmanager.zzey.zzb() calling method java.io.FileOutputStream.<init>()


    final boolean zzb(com.google.android.gms.internal.zzdhw p5)
    {
        int v0_0 = 0;
        String v1_1 = this.zzbfi();
        try {
            java.io.FileOutputStream v2_1 = new java.io.FileOutputStream(v1_1);
            try {
                v2_1.write(com.google.android.gms.internal.zzfhk.zzc(p5));
                try {
                    v2_1.close();
                } catch (int v0) {
                    com.google.android.gms.tagmanager.zzdj.zzco("error closing stream for writing resource to disk");
                }
                v0_0 = 1;
                return v0_0;
            } catch (int v0_1) {
                try {
                    v2_1.close();
                } catch (String v1) {
                    com.google.android.gms.tagmanager.zzdj.zzco("error closing stream for writing resource to disk");
                }
                throw v0_1;
            } catch (String v3) {
                com.google.android.gms.tagmanager.zzdj.zzco("Error writing resource to disk. Removing resource from disk.");
                v1_1.delete();
                try {
                    v2_1.close();
                } catch (String v1) {
                    com.google.android.gms.tagmanager.zzdj.zzco("error closing stream for writing resource to disk");
                }
                return v0_0;
            }
        } catch (String v1) {
            com.google.android.gms.tagmanager.zzdj.e("Error opening resource file for writing");
            return v0_0;
        }
    }

Method com.google.android.gms.internal.zzag.zza() calling method java.io.FileOutputStream.<init>()


    public final declared_synchronized void zza(String p13, com.google.android.gms.internal.zzc p14)
    {
        int v1_0 = 0;
        try {
            Object[] v2_4 = p14.data.length;
        } catch (int v0_4) {
            throw v0_4;
        }
        if ((this.zzbu + ((long) v2_4)) >= ((long) this.zzbw)) {
            if (com.google.android.gms.internal.zzab.DEBUG) {
                Long v3_5 = new Object[0];
                com.google.android.gms.internal.zzab.zza("Pruning old cache entries.", v3_5);
            }
            long v4_1 = this.zzbu;
            long v6_0 = android.os.SystemClock.elapsedRealtime();
            Long v3_6 = this.zzbt.entrySet().iterator();
            while (v3_6.hasNext()) {
                int v0_12 = ((com.google.android.gms.internal.zzah) ((java.util.Map$Entry) v3_6.next()).getValue());
                if (!this.zze(v0_12.key).delete()) {
                    int v9_1 = new Object[2];
                    v9_1[0] = v0_12.key;
                    v9_1[1] = com.google.android.gms.internal.zzag.zzd(v0_12.key);
                    com.google.android.gms.internal.zzab.zzb("Could not delete cache entry for key=%s, filename=%s", v9_1);
                } else {
                    this.zzbu = (this.zzbu - v0_12.zzbx);
                }
                v3_6.remove();
                int v0_8 = (v1_0 + 1);
                if (((float) (this.zzbu + ((long) v2_4))) >= (((float) this.zzbw) * 1063675494)) {
                    v1_0 = v0_8;
                }
                if (com.google.android.gms.internal.zzab.DEBUG) {
                    Object[] v2_6 = new Object[3];
                    v2_6[0] = Integer.valueOf(v0_8);
                    v2_6[1] = Long.valueOf((this.zzbu - v4_1));
                    v2_6[2] = Long.valueOf((android.os.SystemClock.elapsedRealtime() - v6_0));
                    com.google.android.gms.internal.zzab.zza("pruned %d files, %d bytes, %d ms", v2_6);
                }
            }
            v0_8 = v1_0;
        }
        int v0_20 = this.zze(p13);
        try {
            int v1_11 = new java.io.BufferedOutputStream(new java.io.FileOutputStream(v0_20));
            Object[] v2_10 = new com.google.android.gms.internal.zzah(p13, p14);
        } catch (int v1) {
            if (v0_20.delete()) {
                return;
            } else {
                Object[] v2_3 = new Object[1];
                v2_3[0] = v0_20.getAbsolutePath();
                com.google.android.gms.internal.zzab.zzb("Could not clean up file %s", v2_3);
                return;
            }
        }
        if (v2_10.zza(v1_11)) {
            v1_11.write(p14.data);
            v1_11.close();
            this.zza(p13, v2_10);
            return;
        } else {
            v1_11.close();
            Object[] v2_1 = new Object[1];
            v2_1[0] = v0_20.getAbsolutePath();
            com.google.android.gms.internal.zzab.zzb("Failed to write header for %s", v2_1);
            throw new java.io.IOException();
        }
    }

Method com.google.android.gms.common.data.BitmapTeleporter.zzajl() calling method java.io.FileOutputStream.<init>()


    private final java.io.FileOutputStream zzajl()
    {
        if (this.zzfsz != null) {
            try {
                IllegalStateException v0_6 = java.io.File.createTempFile("teleporter", ".tmp", this.zzfsz);
                try {
                    String v1_2 = new java.io.FileOutputStream(v0_6);
                    this.zzcoi = android.os.ParcelFileDescriptor.open(v0_6, 268435456);
                    v0_6.delete();
                    return v1_2;
                } catch (IllegalStateException v0) {
                    throw new IllegalStateException("Temporary file is somehow already deleted");
                }
            } catch (IllegalStateException v0_7) {
                throw new IllegalStateException("Could not create temporary file", v0_7);
            }
            v1_2 = new java.io.FileOutputStream(v0_6);
            this.zzcoi = android.os.ParcelFileDescriptor.open(v0_6, 268435456);
            v0_6.delete();
            return v1_2;
        } else {
            throw new IllegalStateException("setTempDir() must be called before writing this object to a parcel");
        }
    }

Method ch.qos.logback.core.util.FileUtil.copy() calling method java.io.FileOutputStream.<init>()


    public void copy(String p7, String p8)
    {
        java.io.IOException v2 = 0;
        try {
            String v3_4 = new java.io.BufferedInputStream(new java.io.FileInputStream(p7));
            try {
                int v1_0 = new java.io.BufferedOutputStream(new java.io.FileOutputStream(p8));
                try {
                    java.io.IOException v0_6 = new byte[32768];
                } catch (java.io.IOException v0_4) {
                    v2 = v3_4;
                    if (v2 != null) {
                        try {
                            v2.close();
                        } catch (java.io.IOException v2) {
                        }
                    }
                    if (v1_0 != 0) {
                        try {
                            v1_0.close();
                        } catch (int v1) {
                        }
                    }
                    throw v0_4;
                } catch (java.io.IOException v0_3) {
                    v2 = v3_4;
                    String v3_9 = new StringBuilder().append("Failed to copy [").append(p7).append("] to [").append(p8).append("]").toString();
                    this.addError(v3_9, v0_3);
                    throw new ch.qos.logback.core.rolling.RolloverFailure(v3_9);
                }
                while(true) {
                    int v4_0 = v3_4.read(v0_6);
                    if (v4_0 == -1) {
                        break;
                    }
                    v1_0.write(v0_6, 0, v4_0);
                }
                v3_4.close();
                try {
                    v1_0.close();
                    v1_0 = 0;
                } catch (java.io.IOException v0_3) {
                }
                if (0 != 0) {
                    try {
                        0.close();
                    } catch (java.io.IOException v0) {
                    }
                }
                if (0 != 0) {
                    try {
                        0.close();
                    } catch (java.io.IOException v0) {
                    }
                }
                return;
            } catch (java.io.IOException v0_4) {
                v1_0 = 0;
                v2 = v3_4;
            } catch (java.io.IOException v0_3) {
                v1_0 = 0;
                v2 = v3_4;
            }
        } catch (java.io.IOException v0_4) {
            v1_0 = 0;
        } catch (java.io.IOException v0_3) {
            v1_0 = 0;
        } catch (java.io.IOException v0_4) {
        }
    }

Method ch.qos.logback.core.rolling.helper.Compressor.zipCompress() calling method java.io.FileOutputStream.<init>()


    private void zipCompress(String p8, String p9, String p10)
    {
        java.io.IOException v2_0 = 0;
        java.io.IOException v0_8 = new java.io.File(p8);
        if (v0_8.exists()) {
            if (p10 != null) {
                if (!p9.endsWith(".zip")) {
                    p9 = new StringBuilder().append(p9).append(".zip").toString();
                }
                int v1_19 = new java.io.File(p9);
                if (!v1_19.exists()) {
                    this.addInfo(new StringBuilder().append("ZIP compressing [").append(v0_8).append("] as [").append(v1_19).append("]").toString());
                    this.createMissingTargetDirsIfNecessary(v1_19);
                    try {
                        int v3_12 = new java.io.BufferedInputStream(new java.io.FileInputStream(p8));
                        try {
                            int v1_2 = new java.util.zip.ZipOutputStream(new java.io.FileOutputStream(p9));
                            try {
                                v1_2.putNextEntry(this.computeZipEntry(p10));
                                String v4_13 = new byte[8192];
                            } catch (java.io.IOException v0_1) {
                                v2_0 = v3_12;
                                if (v2_0 != null) {
                                    try {
                                        v2_0.close();
                                    } catch (java.io.IOException v2) {
                                    }
                                }
                                if (v1_2 != 0) {
                                    try {
                                        v1_2.close();
                                    } catch (int v1) {
                                    }
                                }
                                throw v0_1;
                            } catch (java.io.IOException v0_9) {
                                v2_0 = v3_12;
                                this.addStatus(new ch.qos.logback.core.status.ErrorStatus(new StringBuilder().append("Error occurred while compressing [").append(p8).append("] into [").append(p9).append("].").toString(), this, v0_9));
                                if (v2_0 != null) {
                                    try {
                                        v2_0.close();
                                    } catch (java.io.IOException v0) {
                                    }
                                }
                                if (v1_2 == 0) {
                                    return;
                                } else {
                                    try {
                                        v1_2.close();
                                    } catch (java.io.IOException v0) {
                                    }
                                    return;
                                }
                                if (0 != 0) {
                                    try {
                                        0.close();
                                    } catch (java.io.IOException v0) {
                                    }
                                }
                                if (0 != 0) {
                                    try {
                                        0.close();
                                    } catch (java.io.IOException v0) {
                                    }
                                }
                            }
                            while(true) {
                                String v5_2 = v3_12.read(v4_13);
                                if (v5_2 == -1) {
                                    break;
                                }
                                v1_2.write(v4_13, 0, v5_2);
                            }
                            v3_12.close();
                            v3_12 = 0;
                            try {
                                v1_2.close();
                                v1_2 = 0;
                            } catch (java.io.IOException v0_9) {
                            }
                            if (!v0_8.delete()) {
                                this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("Could not delete [").append(p8).append("].").toString(), this));
                            }
                        } catch (java.io.IOException v0_1) {
                            v1_2 = 0;
                            v2_0 = v3_12;
                        } catch (java.io.IOException v0_9) {
                            v1_2 = 0;
                            v2_0 = v3_12;
                        }
                    } catch (java.io.IOException v0_1) {
                        v1_2 = 0;
                    } catch (java.io.IOException v0_9) {
                        v1_2 = 0;
                    } catch (java.io.IOException v0_1) {
                    }
                } else {
                    this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("The target compressed file named [").append(p9).append("] exist already.").toString(), this));
                }
            } else {
                this.addStatus(new ch.qos.logback.core.status.WarnStatus("The innerEntryName parameter cannot be null", this));
            }
        } else {
            this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("The file to compress named [").append(p8).append("] does not exist.").toString(), this));
        }
        return;
    }

Method ch.qos.logback.core.rolling.helper.Compressor.gzCompress() calling method java.io.FileOutputStream.<init>()


    private void gzCompress(String p8, String p9)
    {
        int v2_0 = 0;
        java.io.IOException v0_10 = new java.io.File(p8);
        if (v0_10.exists()) {
            if (!p9.endsWith(".gz")) {
                p9 = new StringBuilder().append(p9).append(".gz").toString();
            }
            int v1_13 = new java.io.File(p9);
            if (!v1_13.exists()) {
                this.addInfo(new StringBuilder().append("GZ compressing [").append(v0_10).append("] as [").append(v1_13).append("]").toString());
                this.createMissingTargetDirsIfNecessary(v1_13);
                try {
                    ch.qos.logback.core.status.ErrorStatus v3_1 = new java.io.BufferedInputStream(new java.io.FileInputStream(p8));
                    try {
                        int v1_18 = new java.util.zip.GZIPOutputStream(new java.io.FileOutputStream(p9));
                        try {
                            String v4_11 = new byte[8192];
                        } catch (java.io.IOException v0_1) {
                            v2_0 = v1_18;
                            if (v3_1 != null) {
                                try {
                                    v3_1.close();
                                } catch (int v1) {
                                }
                            }
                            if (v2_0 != 0) {
                                try {
                                    v2_0.close();
                                } catch (int v1) {
                                }
                            }
                            throw v0_1;
                        } catch (java.io.IOException v0_11) {
                            v2_0 = v3_1;
                            try {
                                this.addStatus(new ch.qos.logback.core.status.ErrorStatus(new StringBuilder().append("Error occurred while compressing [").append(p8).append("] into [").append(p9).append("].").toString(), this, v0_11));
                            } catch (java.io.IOException v0_1) {
                                v3_1 = v2_0;
                                v2_0 = v1_18;
                            }
                            if (v2_0 != 0) {
                                try {
                                    v2_0.close();
                                } catch (java.io.IOException v0) {
                                }
                            }
                            if (v1_18 == 0) {
                                return;
                            } else {
                                try {
                                    v1_18.close();
                                } catch (java.io.IOException v0) {
                                }
                                return;
                            }
                            if (0 != 0) {
                                try {
                                    0.close();
                                } catch (java.io.IOException v0) {
                                }
                            }
                            if (0 != 0) {
                                try {
                                    0.close();
                                } catch (java.io.IOException v0) {
                                }
                            }
                        }
                        while(true) {
                            String v5_2 = v3_1.read(v4_11);
                            if (v5_2 == -1) {
                                break;
                            }
                            v1_18.write(v4_11, 0, v5_2);
                        }
                        v3_1.close();
                        v3_1 = 0;
                        try {
                            v1_18.close();
                            v1_18 = 0;
                        } catch (java.io.IOException v0_1) {
                            v3_1 = 0;
                            v2_0 = 0;
                        } catch (java.io.IOException v0_11) {
                        }
                        if (!v0_10.delete()) {
                            this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("Could not delete [").append(p8).append("].").toString(), this));
                        }
                    } catch (java.io.IOException v0_1) {
                    } catch (java.io.IOException v0_11) {
                        v1_18 = 0;
                        v2_0 = v3_1;
                    }
                } catch (java.io.IOException v0_1) {
                    v3_1 = 0;
                } catch (java.io.IOException v0_11) {
                    v1_18 = 0;
                }
            } else {
                this.addWarn(new StringBuilder().append("The target compressed file named [").append(p9).append("] exist already. Aborting file compression.").toString());
            }
        } else {
            this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("The file to compress named [").append(p8).append("] does not exist.").toString(), this));
        }
        return;
    }

Method ch.qos.logback.core.recovery.ResilientFileOutputStream.openNewOutputStream() calling method java.io.FileOutputStream.<init>()


    java.io.OutputStream openNewOutputStream()
    {
        this.fos = new java.io.FileOutputStream(this.file, 1);
        return new java.io.BufferedOutputStream(this.fos);
    }

Method ch.qos.logback.core.recovery.ResilientFileOutputStream.<init>() calling method java.io.FileOutputStream.<init>()


    public ResilientFileOutputStream(java.io.File p3, boolean p4)
    {
        this.file = p3;
        this.fos = new java.io.FileOutputStream(p3, p4);
        this.os = new java.io.BufferedOutputStream(this.fos);
        this.presumedClean = 1;
        return;
    }

Method android.support.v4.util.AtomicFile.startWrite() calling method java.io.FileOutputStream.<init>()


    public java.io.FileOutputStream startWrite()
    {
        if (this.mBaseName.exists()) {
            if (this.mBackupName.exists()) {
                this.mBaseName.delete();
            } else {
                if (!this.mBaseName.renameTo(this.mBackupName)) {
                    android.util.Log.w("AtomicFile", new StringBuilder().append("Couldn\'t rename file ").append(this.mBaseName).append(" to backup file ").append(this.mBackupName).toString());
                }
            }
        }
        try {
            java.io.FileOutputStream v3_1 = new java.io.FileOutputStream(this.mBaseName);
        } catch (java.io.FileNotFoundException v0) {
            if (this.mBaseName.getParentFile().mkdirs()) {
                try {
                    v3_1 = new java.io.FileOutputStream(this.mBaseName);
                } catch (java.io.FileNotFoundException v1) {
                    throw new java.io.IOException(new StringBuilder().append("Couldn\'t create ").append(this.mBaseName).toString());
                }
            } else {
                throw new java.io.IOException(new StringBuilder().append("Couldn\'t create directory ").append(this.mBaseName).toString());
            }
        }
        return v3_1;
    }

Method android.support.v4.print.PrintHelperKitkat$2.doInBackground() calling method java.io.FileOutputStream.<init>()


    protected varargs Throwable doInBackground(Void[] p13)
    {
        Throwable v7 = 0;
        try {
            if (!this.val$cancellationSignal.isCanceled()) {
                android.print.pdf.PrintedPdfDocument v6_1 = new android.print.pdf.PrintedPdfDocument(this.this$0.mContext, this.val$pdfAttributes);
                android.graphics.Bitmap v4 = android.support.v4.print.PrintHelperKitkat.access$100(this.this$0, this.val$bitmap, this.val$pdfAttributes.getColorMode());
                if (!this.val$cancellationSignal.isCanceled()) {
                    try {
                        android.graphics.RectF v0_1;
                        android.graphics.pdf.PdfDocument$Page v5 = v6_1.startPage(1);
                    } catch (java.io.IOException v8_30) {
                        v6_1.close();
                        if (this.val$fileDescriptor != null) {
                            try {
                                this.val$fileDescriptor.close();
                            } catch (java.io.FileDescriptor v9) {
                            }
                        }
                        if (v4 != this.val$bitmap) {
                            v4.recycle();
                        }
                        throw v8_30;
                    }
                    if (!this.this$0.mIsMinMarginsHandlingCorrect) {
                        android.print.pdf.PrintedPdfDocument v1_1 = new android.print.pdf.PrintedPdfDocument(this.this$0.mContext, this.val$attributes);
                        android.graphics.pdf.PdfDocument$Page v2 = v1_1.startPage(1);
                        v0_1 = new android.graphics.RectF(v2.getInfo().getContentRect());
                        v1_1.finishPage(v2);
                        v1_1.close();
                    } else {
                        v0_1 = new android.graphics.RectF(v5.getInfo().getContentRect());
                    }
                    android.graphics.Matrix v3 = android.support.v4.print.PrintHelperKitkat.access$200(this.this$0, v4.getWidth(), v4.getHeight(), v0_1, this.val$fittingMode);
                    if (!this.this$0.mIsMinMarginsHandlingCorrect) {
                        v3.postTranslate(v0_1.left, v0_1.top);
                        v5.getCanvas().clipRect(v0_1);
                    }
                    v5.getCanvas().drawBitmap(v4, v3, 0);
                    v6_1.finishPage(v5);
                    if (!this.val$cancellationSignal.isCanceled()) {
                        v6_1.writeTo(new java.io.FileOutputStream(this.val$fileDescriptor.getFileDescriptor()));
                        v6_1.close();
                        if (this.val$fileDescriptor != null) {
                            try {
                                this.val$fileDescriptor.close();
                            } catch (java.io.IOException v8) {
                            }
                        }
                        if (v4 != this.val$bitmap) {
                            v4.recycle();
                        }
                    } else {
                        v6_1.close();
                        if (this.val$fileDescriptor != null) {
                            try {
                                this.val$fileDescriptor.close();
                            } catch (java.io.IOException v8) {
                            }
                        }
                        if (v4 != this.val$bitmap) {
                            v4.recycle();
                        }
                    }
                }
            }
        } catch (Throwable v7) {
        }
        return v7;
    }

Method android.support.multidex.MultiDexExtractor.extract() calling method java.io.FileOutputStream.<init>()


    private static void extract(java.util.zip.ZipFile p10, java.util.zip.ZipEntry p11, java.io.File p12, String p13)
    {
        java.io.InputStream v2 = p10.getInputStream(p11);
        java.io.File v6 = java.io.File.createTempFile(new StringBuilder().append("tmp-").append(p13).toString(), ".zip", p12.getParentFile());
        android.util.Log.i("MultiDex", new StringBuilder().append("Extracting ").append(v6.getPath()).toString());
        try {
            java.util.zip.ZipOutputStream v5_1 = new java.util.zip.ZipOutputStream(new java.io.BufferedOutputStream(new java.io.FileOutputStream(v6)));
            try {
                java.util.zip.ZipEntry v1_1 = new java.util.zip.ZipEntry("classes.dex");
                v1_1.setTime(p11.getTime());
                v5_1.putNextEntry(v1_1);
                byte[] v0 = new byte[16384];
                int v3 = v2.read(v0);
            } catch (java.io.IOException v7_3) {
                v5_1.close();
                throw v7_3;
            } catch (java.io.IOException v7_4) {
                android.support.multidex.MultiDexExtractor.closeQuietly(v2);
                v6.delete();
                throw v7_4;
            }
            while (v3 != -1) {
                v5_1.write(v0, 0, v3);
                v3 = v2.read(v0);
            }
            v5_1.closeEntry();
            v5_1.close();
            if (v6.setReadOnly()) {
                android.util.Log.i("MultiDex", new StringBuilder().append("Renaming to ").append(p12.getPath()).toString());
                if (v6.renameTo(p12)) {
                    android.support.multidex.MultiDexExtractor.closeQuietly(v2);
                    v6.delete();
                    return;
                } else {
                    throw new java.io.IOException(new StringBuilder().append("Failed to rename \"").append(v6.getAbsolutePath()).append("\" to \"").append(p12.getAbsolutePath()).append("\"").toString());
                }
            } else {
                throw new java.io.IOException(new StringBuilder().append("Failed to mark readonly \"").append(v6.getAbsolutePath()).append("\" (tmp of \"").append(p12.getAbsolutePath()).append("\")").toString());
            }
        } catch (java.io.IOException v7_4) {
        }
    }

Method org.spongycastle.crypto.examples.DESExample.<init>() calling method java.io.FileInputStream.<init>()


    public DESExample(String p16, String p17, String p18, boolean p19)
    {
        this.encrypt = 1;
        this.cipher = 0;
        this.in = 0;
        this.out = 0;
        this.key = 0;
        this.encrypt = p19;
        try {
            this.in = new java.io.BufferedInputStream(new java.io.FileInputStream(p16));
            try {
                this.out = new java.io.BufferedOutputStream(new java.io.FileOutputStream(p17));
            } catch (java.io.IOException v2) {
                System.err.println(new StringBuilder().append("Output file not created [").append(p17).append("]").toString());
                System.exit(1);
            }
            if (!p19) {
                try {
                    java.io.BufferedOutputStream v5_3 = new java.io.BufferedInputStream(new java.io.FileInputStream(p18));
                    int v8 = v5_3.available();
                    byte[] v4_1 = new byte[v8];
                    v5_3.read(v4_1, 0, v8);
                    this.key = org.spongycastle.util.encoders.Hex.decode(v4_1);
                } catch (java.io.IOException v3) {
                    System.err.println(new StringBuilder().append("Decryption key file not found, or not valid [").append(p18).append("]").toString());
                    System.exit(1);
                }
            } else {
                java.security.SecureRandom v10 = 0;
                try {
                    java.security.SecureRandom v11_1 = new java.security.SecureRandom();
                    try {
                        v11_1.setSeed("www.spongycastle.org".getBytes());
                        v10 = v11_1;
                    } catch (Exception v9) {
                        v10 = v11_1;
                        System.err.println("Hmmm, no SHA1PRNG, you need the Sun implementation");
                        System.exit(1);
                    } catch (java.io.IOException v1) {
                        System.err.println(new StringBuilder().append("Could not decryption create key file [").append(p18).append("]").toString());
                        System.exit(1);
                    }
                    org.spongycastle.crypto.KeyGenerationParameters v7_1 = new org.spongycastle.crypto.KeyGenerationParameters(v10, 192);
                    org.spongycastle.crypto.generators.DESedeKeyGenerator v6_1 = new org.spongycastle.crypto.generators.DESedeKeyGenerator();
                    v6_1.init(v7_1);
                    this.key = v6_1.generateKey();
                    java.io.BufferedOutputStream v5_1 = new java.io.BufferedOutputStream(new java.io.FileOutputStream(p18));
                    byte[] v4_0 = org.spongycastle.util.encoders.Hex.encode(this.key);
                    v5_1.write(v4_0, 0, v4_0.length);
                    v5_1.flush();
                    v5_1.close();
                } catch (Exception v9) {
                } catch (java.io.IOException v1) {
                }
            }
            return;
        } catch (java.io.IOException v2) {
            System.err.println(new StringBuilder().append("Input file not found [").append(p16).append("]").toString());
            System.exit(1);
        }
    }

Method org.spongycastle.asn1.util.Dump.main() calling method java.io.FileInputStream.<init>()


    public static void main(String[] p5)
    {
        org.spongycastle.asn1.ASN1InputStream v0_1 = new org.spongycastle.asn1.ASN1InputStream(new java.io.FileInputStream(p5[0]));
        while(true) {
            org.spongycastle.asn1.DERObject v2 = v0_1.readObject();
            if (v2 == null) {
                break;
            }
            System.out.println(org.spongycastle.asn1.util.ASN1Dump.dumpAsString(v2));
        }
        return;
    }

Method okio.Okio.source() calling method java.io.FileInputStream.<init>()


    public static okio.Source source(java.io.File p2)
    {
        if (p2 != null) {
            return okio.Okio.source(new java.io.FileInputStream(p2));
        } else {
            throw new IllegalArgumentException("file == null");
        }
    }

Method com.google.android.gms.tagmanager.zzey.zzbfh() calling method java.io.FileInputStream.<init>()


    final void zzbfh()
    {
        if (this.zzkfj != null) {
            com.google.android.gms.tagmanager.zzdj.v("Attempting to load resource from disk");
            if (((com.google.android.gms.tagmanager.zzei.zzbfc().zzbfd() != com.google.android.gms.tagmanager.zzei$zza.zzkey) && (com.google.android.gms.tagmanager.zzei.zzbfc().zzbfd() != com.google.android.gms.tagmanager.zzei$zza.zzkez)) || (!this.zzkak.equals(com.google.android.gms.tagmanager.zzei.zzbfc().getContainerId()))) {
                try {
                    String v1_4 = new java.io.FileInputStream(this.zzbfi());
                    try {
                        String v0_10 = new java.io.ByteArrayOutputStream();
                        com.google.android.gms.internal.zzdhy.zzb(v1_4, v0_10);
                        String v0_13 = ((com.google.android.gms.internal.zzdhw) com.google.android.gms.internal.zzfhk.zza(new com.google.android.gms.internal.zzdhw(), v0_10.toByteArray()));
                    } catch (String v0_26) {
                        try {
                            v1_4.close();
                        } catch (String v1) {
                            com.google.android.gms.tagmanager.zzdj.zzco("Error closing stream for reading resource from disk");
                        }
                        throw v0_26;
                    } catch (String v0) {
                        this.zzkfj.zzei(com.google.android.gms.tagmanager.zzda.zzkdw);
                        com.google.android.gms.tagmanager.zzdj.zzco("Failed to read the resource from disk");
                        try {
                            v1_4.close();
                        } catch (String v0) {
                            com.google.android.gms.tagmanager.zzdj.zzco("Error closing stream for reading resource from disk");
                        }
                        com.google.android.gms.tagmanager.zzdj.v("The Disk resource was successfully read.");
                    } catch (String v0) {
                        this.zzkfj.zzei(com.google.android.gms.tagmanager.zzda.zzkdw);
                        com.google.android.gms.tagmanager.zzdj.zzco("Failed to read the resource from disk. The resource is inconsistent");
                        try {
                            v1_4.close();
                        } catch (String v0) {
                            com.google.android.gms.tagmanager.zzdj.zzco("Error closing stream for reading resource from disk");
                        }
                    }
                    if ((v0_13.zzyb != null) || (v0_13.zzkqv != null)) {
                        this.zzkfj.onSuccess(v0_13);
                        try {
                            v1_4.close();
                        } catch (String v0) {
                            com.google.android.gms.tagmanager.zzdj.zzco("Error closing stream for reading resource from disk");
                        }
                    } else {
                        throw new IllegalArgumentException("Resource and SupplementedResource are NULL.");
                    }
                } catch (String v0) {
                    com.google.android.gms.tagmanager.zzdj.zzbw("Failed to find the resource in the disk");
                    this.zzkfj.zzei(com.google.android.gms.tagmanager.zzda.zzkdv);
                }
            } else {
                this.zzkfj.zzei(com.google.android.gms.tagmanager.zzda.zzkdv);
            }
            return;
        } else {
            throw new IllegalStateException("Callback must be set before execute");
        }
    }

Method com.google.android.gms.internal.zzag.zza() calling method java.io.FileInputStream.<init>()


    private static java.io.InputStream zza(java.io.File p1)
    {
        return new java.io.FileInputStream(p1);
    }

Method ch.qos.logback.core.util.FileUtil.copy() calling method java.io.FileInputStream.<init>()


    public void copy(String p7, String p8)
    {
        java.io.IOException v2 = 0;
        try {
            String v3_4 = new java.io.BufferedInputStream(new java.io.FileInputStream(p7));
            try {
                int v1_0 = new java.io.BufferedOutputStream(new java.io.FileOutputStream(p8));
                try {
                    java.io.IOException v0_6 = new byte[32768];
                } catch (java.io.IOException v0_4) {
                    v2 = v3_4;
                    if (v2 != null) {
                        try {
                            v2.close();
                        } catch (java.io.IOException v2) {
                        }
                    }
                    if (v1_0 != 0) {
                        try {
                            v1_0.close();
                        } catch (int v1) {
                        }
                    }
                    throw v0_4;
                } catch (java.io.IOException v0_3) {
                    v2 = v3_4;
                    String v3_9 = new StringBuilder().append("Failed to copy [").append(p7).append("] to [").append(p8).append("]").toString();
                    this.addError(v3_9, v0_3);
                    throw new ch.qos.logback.core.rolling.RolloverFailure(v3_9);
                }
                while(true) {
                    int v4_0 = v3_4.read(v0_6);
                    if (v4_0 == -1) {
                        break;
                    }
                    v1_0.write(v0_6, 0, v4_0);
                }
                v3_4.close();
                try {
                    v1_0.close();
                    v1_0 = 0;
                } catch (java.io.IOException v0_3) {
                }
                if (0 != 0) {
                    try {
                        0.close();
                    } catch (java.io.IOException v0) {
                    }
                }
                if (0 != 0) {
                    try {
                        0.close();
                    } catch (java.io.IOException v0) {
                    }
                }
                return;
            } catch (java.io.IOException v0_4) {
                v1_0 = 0;
                v2 = v3_4;
            } catch (java.io.IOException v0_3) {
                v1_0 = 0;
                v2 = v3_4;
            }
        } catch (java.io.IOException v0_4) {
            v1_0 = 0;
        } catch (java.io.IOException v0_3) {
            v1_0 = 0;
        } catch (java.io.IOException v0_4) {
        }
    }

Method ch.qos.logback.core.rolling.helper.Compressor.zipCompress() calling method java.io.FileInputStream.<init>()


    private void zipCompress(String p8, String p9, String p10)
    {
        java.io.IOException v2_0 = 0;
        java.io.IOException v0_8 = new java.io.File(p8);
        if (v0_8.exists()) {
            if (p10 != null) {
                if (!p9.endsWith(".zip")) {
                    p9 = new StringBuilder().append(p9).append(".zip").toString();
                }
                int v1_19 = new java.io.File(p9);
                if (!v1_19.exists()) {
                    this.addInfo(new StringBuilder().append("ZIP compressing [").append(v0_8).append("] as [").append(v1_19).append("]").toString());
                    this.createMissingTargetDirsIfNecessary(v1_19);
                    try {
                        int v3_12 = new java.io.BufferedInputStream(new java.io.FileInputStream(p8));
                        try {
                            int v1_2 = new java.util.zip.ZipOutputStream(new java.io.FileOutputStream(p9));
                            try {
                                v1_2.putNextEntry(this.computeZipEntry(p10));
                                String v4_13 = new byte[8192];
                            } catch (java.io.IOException v0_1) {
                                v2_0 = v3_12;
                                if (v2_0 != null) {
                                    try {
                                        v2_0.close();
                                    } catch (java.io.IOException v2) {
                                    }
                                }
                                if (v1_2 != 0) {
                                    try {
                                        v1_2.close();
                                    } catch (int v1) {
                                    }
                                }
                                throw v0_1;
                            } catch (java.io.IOException v0_9) {
                                v2_0 = v3_12;
                                this.addStatus(new ch.qos.logback.core.status.ErrorStatus(new StringBuilder().append("Error occurred while compressing [").append(p8).append("] into [").append(p9).append("].").toString(), this, v0_9));
                                if (v2_0 != null) {
                                    try {
                                        v2_0.close();
                                    } catch (java.io.IOException v0) {
                                    }
                                }
                                if (v1_2 == 0) {
                                    return;
                                } else {
                                    try {
                                        v1_2.close();
                                    } catch (java.io.IOException v0) {
                                    }
                                    return;
                                }
                                if (0 != 0) {
                                    try {
                                        0.close();
                                    } catch (java.io.IOException v0) {
                                    }
                                }
                                if (0 != 0) {
                                    try {
                                        0.close();
                                    } catch (java.io.IOException v0) {
                                    }
                                }
                            }
                            while(true) {
                                String v5_2 = v3_12.read(v4_13);
                                if (v5_2 == -1) {
                                    break;
                                }
                                v1_2.write(v4_13, 0, v5_2);
                            }
                            v3_12.close();
                            v3_12 = 0;
                            try {
                                v1_2.close();
                                v1_2 = 0;
                            } catch (java.io.IOException v0_9) {
                            }
                            if (!v0_8.delete()) {
                                this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("Could not delete [").append(p8).append("].").toString(), this));
                            }
                        } catch (java.io.IOException v0_1) {
                            v1_2 = 0;
                            v2_0 = v3_12;
                        } catch (java.io.IOException v0_9) {
                            v1_2 = 0;
                            v2_0 = v3_12;
                        }
                    } catch (java.io.IOException v0_1) {
                        v1_2 = 0;
                    } catch (java.io.IOException v0_9) {
                        v1_2 = 0;
                    } catch (java.io.IOException v0_1) {
                    }
                } else {
                    this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("The target compressed file named [").append(p9).append("] exist already.").toString(), this));
                }
            } else {
                this.addStatus(new ch.qos.logback.core.status.WarnStatus("The innerEntryName parameter cannot be null", this));
            }
        } else {
            this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("The file to compress named [").append(p8).append("] does not exist.").toString(), this));
        }
        return;
    }

Method ch.qos.logback.core.rolling.helper.Compressor.gzCompress() calling method java.io.FileInputStream.<init>()


    private void gzCompress(String p8, String p9)
    {
        int v2_0 = 0;
        java.io.IOException v0_10 = new java.io.File(p8);
        if (v0_10.exists()) {
            if (!p9.endsWith(".gz")) {
                p9 = new StringBuilder().append(p9).append(".gz").toString();
            }
            int v1_13 = new java.io.File(p9);
            if (!v1_13.exists()) {
                this.addInfo(new StringBuilder().append("GZ compressing [").append(v0_10).append("] as [").append(v1_13).append("]").toString());
                this.createMissingTargetDirsIfNecessary(v1_13);
                try {
                    ch.qos.logback.core.status.ErrorStatus v3_1 = new java.io.BufferedInputStream(new java.io.FileInputStream(p8));
                    try {
                        int v1_18 = new java.util.zip.GZIPOutputStream(new java.io.FileOutputStream(p9));
                        try {
                            String v4_11 = new byte[8192];
                        } catch (java.io.IOException v0_1) {
                            v2_0 = v1_18;
                            if (v3_1 != null) {
                                try {
                                    v3_1.close();
                                } catch (int v1) {
                                }
                            }
                            if (v2_0 != 0) {
                                try {
                                    v2_0.close();
                                } catch (int v1) {
                                }
                            }
                            throw v0_1;
                        } catch (java.io.IOException v0_11) {
                            v2_0 = v3_1;
                            try {
                                this.addStatus(new ch.qos.logback.core.status.ErrorStatus(new StringBuilder().append("Error occurred while compressing [").append(p8).append("] into [").append(p9).append("].").toString(), this, v0_11));
                            } catch (java.io.IOException v0_1) {
                                v3_1 = v2_0;
                                v2_0 = v1_18;
                            }
                            if (v2_0 != 0) {
                                try {
                                    v2_0.close();
                                } catch (java.io.IOException v0) {
                                }
                            }
                            if (v1_18 == 0) {
                                return;
                            } else {
                                try {
                                    v1_18.close();
                                } catch (java.io.IOException v0) {
                                }
                                return;
                            }
                            if (0 != 0) {
                                try {
                                    0.close();
                                } catch (java.io.IOException v0) {
                                }
                            }
                            if (0 != 0) {
                                try {
                                    0.close();
                                } catch (java.io.IOException v0) {
                                }
                            }
                        }
                        while(true) {
                            String v5_2 = v3_1.read(v4_11);
                            if (v5_2 == -1) {
                                break;
                            }
                            v1_18.write(v4_11, 0, v5_2);
                        }
                        v3_1.close();
                        v3_1 = 0;
                        try {
                            v1_18.close();
                            v1_18 = 0;
                        } catch (java.io.IOException v0_1) {
                            v3_1 = 0;
                            v2_0 = 0;
                        } catch (java.io.IOException v0_11) {
                        }
                        if (!v0_10.delete()) {
                            this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("Could not delete [").append(p8).append("].").toString(), this));
                        }
                    } catch (java.io.IOException v0_1) {
                    } catch (java.io.IOException v0_11) {
                        v1_18 = 0;
                        v2_0 = v3_1;
                    }
                } catch (java.io.IOException v0_1) {
                    v3_1 = 0;
                } catch (java.io.IOException v0_11) {
                    v1_18 = 0;
                }
            } else {
                this.addWarn(new StringBuilder().append("The target compressed file named [").append(p9).append("] exist already. Aborting file compression.").toString());
            }
        } else {
            this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("The file to compress named [").append(p8).append("] does not exist.").toString(), this));
        }
        return;
    }

Method ch.qos.logback.core.joran.action.PropertyAction.begin() calling method java.io.FileInputStream.<init>()


    public void begin(ch.qos.logback.core.joran.spi.InterpretationContext p5, String p6, org.xml.sax.Attributes p7)
    {
        if ("substitutionProperty".equals(p6)) {
            this.addWarn("[substitutionProperty] element has been deprecated. Please use the [property] element instead.");
        }
        java.io.IOException v0_24 = p7.getValue("name");
        String v1_1 = p7.getValue("value");
        String v2_2 = ch.qos.logback.core.joran.action.ActionUtil.stringToScope(p7.getValue("scope"));
        if (!this.checkFileAttributeSanity(p7)) {
            if (!this.checkResourceAttributeSanity(p7)) {
                if (!this.checkValueNameAttributesSanity(p7)) {
                    this.addError(ch.qos.logback.core.joran.action.PropertyAction.INVALID_ATTRIBUTES);
                } else {
                    ch.qos.logback.core.joran.action.ActionUtil.setProperty(p5, v0_24, p5.subst(ch.qos.logback.core.pattern.util.RegularEscapeUtil.basicEscape(v1_1).trim()), v2_2);
                }
            } else {
                String v1_5 = p5.subst(p7.getValue("resource"));
                java.io.IOException v0_10 = ch.qos.logback.core.util.Loader.getResourceBySelfClassLoader(v1_5);
                if (v0_10 != null) {
                    try {
                        this.loadAndSetProperties(p5, v0_10.openStream(), v2_2);
                    } catch (java.io.IOException v0_12) {
                        this.addError(new StringBuilder().append("Could not read resource file [").append(v1_5).append("].").toString(), v0_12);
                    }
                } else {
                    this.addError(new StringBuilder().append("Could not find resource [").append(v1_5).append("].").toString());
                }
            }
        } else {
            String v1_10 = p5.subst(p7.getValue("file"));
            try {
                this.loadAndSetProperties(p5, new java.io.FileInputStream(v1_10), v2_2);
            } catch (java.io.IOException v0) {
                this.addError(new StringBuilder().append("Could not find properties file [").append(v1_10).append("].").toString());
            } catch (java.io.IOException v0_25) {
                this.addError(new StringBuilder().append("Could not read properties file [").append(v1_10).append("].").toString(), v0_25);
            }
        }
        return;
    }

Method ch.qos.logback.core.joran.GenericConfigurator.doConfigure() calling method java.io.FileInputStream.<init>()


    public final void doConfigure(java.io.File p4)
    {
        try {
            ch.qos.logback.core.joran.GenericConfigurator.informContextOfURLUsedForConfiguration(this.getContext(), p4.toURI().toURL());
            this.doConfigure(new java.io.FileInputStream(p4));
            return;
        } catch (java.io.IOException v0_1) {
            String v1_5 = new StringBuilder().append("Could not open [").append(p4.getPath()).append("].").toString();
            this.addError(v1_5, v0_1);
            throw new ch.qos.logback.core.joran.spi.JoranException(v1_5, v0_1);
        }
    }

Method android.support.v4.util.AtomicFile.openRead() calling method java.io.FileInputStream.<init>()


    public java.io.FileInputStream openRead()
    {
        if (this.mBackupName.exists()) {
            this.mBaseName.delete();
            this.mBackupName.renameTo(this.mBaseName);
        }
        return new java.io.FileInputStream(this.mBaseName);
    }

Method com.google.android.gms.common.util.zzs.zzcj() calling method java.io.FileReader.<init>()


    private static String zzcj(int p7)
    {
        Throwable v0_0 = 0;
        if (p7 > 0) {
            try {
                java.io.IOException v2_0 = android.os.StrictMode.allowThreadDiskReads();
                try {
                    Throwable v1_0 = new java.io.BufferedReader(new java.io.FileReader(new StringBuilder(25).append("/proc/").append(p7).append("/cmdline").toString()));
                    try {
                        android.os.StrictMode.setThreadPolicy(v2_0);
                        v0_0 = v1_0.readLine().trim();
                        com.google.android.gms.common.util.zzn.closeQuietly(v1_0);
                    } catch (Throwable v0_1) {
                        com.google.android.gms.common.util.zzn.closeQuietly(v1_0);
                        throw v0_1;
                    } catch (java.io.IOException v2) {
                        com.google.android.gms.common.util.zzn.closeQuietly(v1_0);
                    }
                } catch (Throwable v1_1) {
                    android.os.StrictMode.setThreadPolicy(v2_0);
                    throw v1_1;
                }
            } catch (Throwable v1_2) {
                v1_0 = 0;
                v0_1 = v1_2;
            } catch (Throwable v1) {
                v1_0 = 0;
            }
        }
        return v0_0;
    }

Method okhttp3.internal.DiskLruCache.<init>() calling method java.io.File.<init>()


    DiskLruCache(okhttp3.internal.io.FileSystem p8, java.io.File p9, int p10, int p11, long p12, java.util.concurrent.Executor p14)
    {
        this.size = 0;
        this.lruEntries = new java.util.LinkedHashMap(0, 1061158912, 1);
        this.nextSequenceNumber = 0;
        this.cleanupRunnable = new okhttp3.internal.DiskLruCache$1(this);
        this.fileSystem = p8;
        this.directory = p9;
        this.appVersion = p10;
        this.journalFile = new java.io.File(p9, "journal");
        this.journalFileTmp = new java.io.File(p9, "journal.tmp");
        this.journalFileBackup = new java.io.File(p9, "journal.bkp");
        this.valueCount = p11;
        this.maxSize = p12;
        this.executor = p14;
        return;
    }

Method okhttp3.internal.DiskLruCache$Entry.<init>() calling method java.io.File.<init>()


    private DiskLruCache$Entry(okhttp3.internal.DiskLruCache p8, String p9)
    {
        this.this$0 = p8;
        this.key = p9;
        java.io.File[] v3_9 = new long[okhttp3.internal.DiskLruCache.access$2400(p8)];
        this.lengths = v3_9;
        java.io.File[] v3_11 = new java.io.File[okhttp3.internal.DiskLruCache.access$2400(p8)];
        this.cleanFiles = v3_11;
        java.io.File[] v3_1 = new java.io.File[okhttp3.internal.DiskLruCache.access$2400(p8)];
        this.dirtyFiles = v3_1;
        StringBuilder v0 = new StringBuilder(p9).append(46);
        int v2 = v0.length();
        int v1 = 0;
        while (v1 < okhttp3.internal.DiskLruCache.access$2400(p8)) {
            v0.append(v1);
            this.cleanFiles[v1] = new java.io.File(okhttp3.internal.DiskLruCache.access$2900(p8), v0.toString());
            v0.append(".tmp");
            this.dirtyFiles[v1] = new java.io.File(okhttp3.internal.DiskLruCache.access$2900(p8), v0.toString());
            v0.setLength(v2);
            v1++;
        }
        return;
    }

Method net.monius.exchange.HttpClient.getHttpCache() calling method java.io.File.<init>()


    private okhttp3.Cache getHttpCache(android.content.Context p7)
    {
        String v0_2;
        java.io.File v3 = p7.getCacheDir();
        if (!net.monius.exchange.Session$SessionType.NoLogin.equals(net.monius.exchange.Session.getCurrent().getSessionType())) {
            v0_2 = net.monius.exchange.Session$SessionType.UserPasswordLogin.toString();
        } else {
            v0_2 = net.monius.exchange.Session$SessionType.NoLogin.toString();
        }
        return new okhttp3.Cache(new java.io.File(v3, v0_2), 10485760);
    }

Method net.monius.exchange.HttpClient.deleteDir() calling method java.io.File.<init>()


    public static boolean deleteDir(java.io.File p11)
    {
        if ((p11 == null) || (!p11.isDirectory())) {
            int v3_3;
            Object[] v7_0 = new Object[3];
            v7_0[0] = p11.getName();
            if (!p11.exists()) {
                v3_3 = "does not exist";
            } else {
                v3_3 = "exists";
            }
            int v3_5;
            v7_0[1] = v3_3;
            if (!p11.isFile()) {
                v3_5 = "is not a file";
            } else {
                v3_5 = "a file";
            }
            v7_0[2] = v3_5;
            net.monius.exchange.HttpClient.logger.debug("The {} {} and {}", v7_0);
            int v3_6 = p11.delete();
        } else {
            String[] v0 = p11.list();
            int v1 = 0;
            while (v1 < v0.length) {
                int v3_11;
                boolean v2 = net.monius.exchange.HttpClient.deleteDir(new java.io.File(p11, v0[v1]));
                Object[] v7_1 = new Object[3];
                v7_1[0] = v0[v1];
                if (!p11.exists()) {
                    v3_11 = "does not exist";
                } else {
                    v3_11 = "exists";
                }
                int v3_13;
                v7_1[1] = v3_11;
                if (!p11.isFile()) {
                    v3_13 = "is not a file";
                } else {
                    v3_13 = "a file";
                }
                v7_1[2] = v3_13;
                net.monius.exchange.HttpClient.logger.debug("The {} {} and {}", v7_1);
                if (v2) {
                    v1++;
                } else {
                    v3_6 = 0;
                }
            }
        }
        return v3_6;
    }

Method net.monius.exchange.HttpClient.clearCache() calling method java.io.File.<init>()


    public static boolean clearCache(android.content.Context p10, String p11)
    {
        java.io.File v0 = p10.getCacheDir();
        boolean v4 = 0;
        if (v0.exists()) {
            String[] v3 = v0.list();
            int v7 = v3.length;
            int v6 = 0;
            while (v6 < v7) {
                if (p11.equals(v3[v6])) {
                    String v5_1;
                    v4 = net.monius.exchange.HttpClient.deleteDir(new java.io.File(v0, p11));
                    if (!v4) {
                        v5_1 = "unsuccessful";
                    } else {
                        v5_1 = "successful";
                    }
                    net.monius.exchange.HttpClient.logger.debug("deleting {} cache is {}", p11, v5_1);
                }
                v6++;
            }
        }
        return v4;
    }

Method net.monius.data.DataContext.deleteDB() calling method java.io.File.<init>()


    private static void deleteDB(String p3)
    {
        java.io.File v0_1 = new java.io.File(new StringBuilder().append(net.monius.data.DataContext._databasePath).append(p3).toString());
        if ((!v0_1.exists()) || (v0_1.delete())) {
            return;
        } else {
            throw new Exception("unable to delete database");
        }
    }

Method com.google.firebase.iid.zzab.<init>() calling method java.io.File.<init>()


    private zzab(android.content.Context p5, String p6)
    {
        String v0_2;
        this.zzaif = p5;
        this.zzidi = p5.getSharedPreferences(p6, 0);
        int v1_7 = String.valueOf(p6);
        String v0_0 = String.valueOf("-no-backup");
        if (v0_0.length() == 0) {
            v0_2 = new String(v1_7);
        } else {
            v0_2 = v1_7.concat(v0_0);
        }
        String v2_2 = new java.io.File(com.google.android.gms.common.util.zzv.getNoBackupFilesDir(this.zzaif), v0_2);
        try {
            if ((!v2_2.exists()) && ((v2_2.createNewFile()) && (!this.isEmpty()))) {
                android.util.Log.i("InstanceID/Store", "App restored, clearing state");
                this.zzaux();
                com.google.firebase.iid.zzi.zza(this.zzaif, 0).zzchc();
            }
        } catch (String v0_11) {
            if (android.util.Log.isLoggable("InstanceID/Store", 3)) {
                String v0_13 = String.valueOf(v0_11.getMessage());
                if (v0_13.length() == 0) {
                    String v0_15 = new String("Error creating file in no backup dir: ");
                } else {
                    v0_15 = "Error creating file in no backup dir: ".concat(v0_13);
                }
                android.util.Log.d("InstanceID/Store", v0_15);
            }
        }
        return;
    }

Method com.google.android.gms.tagmanager.zzey.zzbfi() calling method java.io.File.<init>()


    private final java.io.File zzbfi()
    {
        String v0_1;
        java.io.File v1_2 = String.valueOf("resource_");
        String v0_3 = String.valueOf(this.zzkak);
        if (v0_3.length() == 0) {
            v0_1 = new String(v1_2);
        } else {
            v0_1 = v1_2.concat(v0_3);
        }
        return new java.io.File(this.mContext.getDir("google_tagmanager", 0), v0_1);
    }

Method com.google.android.gms.tagmanager.zzbs.zzlj() calling method java.io.File.<init>()


    static boolean zzlj(String p4)
    {
        int v0 = 0;
        if (com.google.android.gms.tagmanager.zzbs.version() >= 9) {
            java.io.File v2_2 = new java.io.File(p4);
            v2_2.setReadable(0, 0);
            v2_2.setWritable(0, 0);
            v2_2.setReadable(1, 1);
            v2_2.setWritable(1, 1);
            v0 = 1;
        }
        return v0;
    }

Method com.google.android.gms.internal.zzchj.zzazs() calling method java.io.File.<init>()


    private final boolean zzazs()
    {
        this.zzawl().zzut();
        try {
            int v0_11;
            this.zzjdb = new java.io.RandomAccessFile(new java.io.File(this.mContext.getFilesDir(), "google_app_measurement.db"), "rw").getChannel();
            this.zzjda = this.zzjdb.tryLock();
        } catch (int v0_13) {
            this.zzawm().zzayr().zzj("Failed to acquire storage lock", v0_13);
            v0_11 = 0;
            return v0_11;
        } catch (int v0_12) {
            this.zzawm().zzayr().zzj("Failed to access storage lock file", v0_12);
        }
        if (this.zzjda == null) {
            this.zzawm().zzayr().log("Storage concurrent data access panic");
        } else {
            this.zzawm().zzayx().log("Storage concurrent access okay");
            v0_11 = 1;
            return v0_11;
        }
    }

Method com.google.android.gms.internal.zzcfl.zza() calling method java.io.File.<init>()


    static void zza(com.google.android.gms.internal.zzcgj p5, android.database.sqlite.SQLiteDatabase p6)
    {
        if (p5 != null) {
            com.google.android.gms.internal.zzcgl v0_5 = new java.io.File(p6.getPath());
            if (!v0_5.setReadable(0, 0)) {
                p5.zzayt().log("Failed to turn off database read permission");
            }
            if (!v0_5.setWritable(0, 0)) {
                p5.zzayt().log("Failed to turn off database write permission");
            }
            if (!v0_5.setReadable(1, 1)) {
                p5.zzayt().log("Failed to turn on database read permission for owner");
            }
            if (!v0_5.setWritable(1, 1)) {
                p5.zzayt().log("Failed to turn on database write permission for owner");
            }
            return;
        } else {
            throw new IllegalArgumentException("Monitor must not be null");
        }
    }

Method com.google.android.gms.internal.zzar.zza() calling method java.io.File.<init>()


    public static com.google.android.gms.internal.zzs zza(android.content.Context p6, com.google.android.gms.internal.zzam p7)
    {
        java.io.File v2_1 = new java.io.File(p6.getCacheDir(), "volley");
        try {
            com.google.android.gms.internal.zzad v1_9 = p6.getPackageName();
            com.google.android.gms.internal.zzs v0_1 = new StringBuilder((String.valueOf(v1_9).length() + 12)).append(v1_9).append("/").append(p6.getPackageManager().getPackageInfo(v1_9, 0).versionCode).toString();
        } catch (com.google.android.gms.internal.zzad v1) {
        }
        com.google.android.gms.internal.zzs v0_3;
        if (android.os.Build$VERSION.SDK_INT < 9) {
            v0_3 = new com.google.android.gms.internal.zzaj(android.net.http.AndroidHttpClient.newInstance(v0_1));
        } else {
            v0_3 = new com.google.android.gms.internal.zzan();
        }
        com.google.android.gms.internal.zzs v0_6 = new com.google.android.gms.internal.zzs(new com.google.android.gms.internal.zzag(v2_1), new com.google.android.gms.internal.zzad(v0_3));
        v0_6.start();
        return v0_6;
    }

Method com.google.android.gms.internal.zzapb.onCreate() calling method java.io.File.<init>()


    public final void onCreate(android.database.sqlite.SQLiteDatabase p6)
    {
        String v0 = p6.getPath();
        if (com.google.android.gms.internal.zzapz.version() >= 9) {
            java.io.File v1_2 = new java.io.File(v0);
            v1_2.setReadable(0, 0);
            v1_2.setWritable(0, 0);
            v1_2.setReadable(1, 1);
            v1_2.setWritable(1, 1);
        }
        return;
    }

Method com.google.android.gms.internal.zzag.zze() calling method java.io.File.<init>()


    private final java.io.File zze(String p4)
    {
        return new java.io.File(this.zzbv, com.google.android.gms.internal.zzag.zzd(p4));
    }

Method com.google.android.gms.common.util.zzv.getNoBackupFilesDir() calling method java.io.File.<init>()


    public static java.io.File getNoBackupFilesDir(android.content.Context p3)
    {
        java.io.File v0_1;
        if (!com.google.android.gms.common.util.zzq.zzamb()) {
            v0_1 = com.google.android.gms.common.util.zzv.zzd(new java.io.File(p3.getApplicationInfo().dataDir, "no_backup"));
        } else {
            v0_1 = p3.getNoBackupFilesDir();
        }
        return v0_1;
    }

Method com.flipboard.bottomsheet.commons.ImagePickerSheetView$Adapter.<init>() calling method java.io.File.<init>()


    public ImagePickerSheetView$Adapter(com.flipboard.bottomsheet.commons.ImagePickerSheetView p12, android.content.Context p13)
    {
        this.this$0 = p12;
        this.tiles = new java.util.ArrayList();
        this.inflater = android.view.LayoutInflater.from(p13);
        if (p12.showCameraOption) {
            this.tiles.add(new com.flipboard.bottomsheet.commons.ImagePickerSheetView$ImagePickerTile(2));
        }
        if (p12.showPickerOption) {
            this.tiles.add(new com.flipboard.bottomsheet.commons.ImagePickerSheetView$ImagePickerTile(3));
        }
        String[] v2 = new String[5];
        v2[0] = "_id";
        v2[1] = "_data";
        v2[2] = "bucket_display_name";
        v2[3] = "datetaken";
        v2[4] = "mime_type";
        this.resolver = p13.getContentResolver();
        android.database.Cursor v7 = this.resolver.query(android.provider.MediaStore$Images$Media.EXTERNAL_CONTENT_URI, v2, 0, 0, "datetaken DESC");
        if (v7 != null) {
            int v6 = 0;
            while ((v7.moveToNext()) && (v6 < p12.maxItems)) {
                java.io.File v8_1 = new java.io.File(v7.getString(1));
                if (v8_1.exists()) {
                    this.tiles.add(new com.flipboard.bottomsheet.commons.ImagePickerSheetView$ImagePickerTile(android.net.Uri.fromFile(v8_1)));
                }
                v6++;
            }
            v7.close();
        }
        return;
    }

Method ch.qos.logback.core.util.FileUtil.prefixRelativePath() calling method java.io.File.<init>()


    public static String prefixRelativePath(String p2, String p3)
    {
        if ((p2 != null) && ((!ch.qos.logback.core.util.OptionHelper.isEmpty(p2.trim())) && (!new java.io.File(p3).isAbsolute()))) {
            p3 = new StringBuilder().append(p2).append("/").append(p3).toString();
        }
        return p3;
    }

Method ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover.cleanByPeriodOffset() calling method java.io.File.<init>()


    protected void cleanByPeriodOffset(java.util.Date p4, int p5)
    {
        java.io.File v1_2 = new java.io.File(this.fileNamePattern.convert(this.rc.getRelativeDate(p4, p5)));
        if ((v1_2.exists()) && (v1_2.isFile())) {
            v1_2.delete();
            this.addInfo(new StringBuilder().append("deleting ").append(v1_2).toString());
            if (this.parentClean) {
                this.removeFolderIfEmpty(v1_2.getParentFile());
            }
        }
        return;
    }

Method ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover.cleanByPeriodOffset() calling method java.io.File.<init>()


    public void cleanByPeriodOffset(java.util.Date p8, int p9)
    {
        boolean v0_0 = 0;
        java.io.File v1_6 = this.rc.getRelativeDate(p8, p9);
        java.io.File[] v2_3 = ch.qos.logback.core.rolling.helper.FileFilterUtil.afterLastSlash(this.fileNamePattern.toRegexForFixedDate(v1_6));
        java.io.File v4_0 = this.fileNamePattern;
        Object[] v5_1 = new Object[2];
        v5_1[0] = v1_6;
        v5_1[1] = Integer.valueOf(0);
        java.io.File v1_5 = new java.io.File(v4_0.convertMultipleArguments(v5_1)).getAbsoluteFile().getAbsoluteFile().getParentFile();
        java.io.File[] v2_0 = ch.qos.logback.core.rolling.helper.FileFilterUtil.filesInFolderMatchingStemRegex(v1_5, v2_3);
        int v3_1 = v2_0.length;
        while (v0_0 < v3_1) {
            v2_0[v0_0].delete();
            v0_0++;
        }
        if (this.parentClean) {
            this.removeFolderIfEmpty(v1_5);
        }
        return;
    }

Method ch.qos.logback.core.rolling.helper.RenameUtil.renameByCopying() calling method java.io.File.<init>()


    public void renameByCopying(String p3, String p4)
    {
        new ch.qos.logback.core.util.FileUtil(this.getContext()).copy(p3, p4);
        if (!new java.io.File(p3).delete()) {
            this.addWarn(new StringBuilder().append("Could not delete ").append(p3).toString());
        }
        return;
    }

Method ch.qos.logback.core.rolling.helper.RenameUtil.rename() calling method java.io.File.<init>()


    public void rename(String p5, String p6)
    {
        if (!p5.equals(p6)) {
            String v0_14 = new java.io.File(p5);
            if (!v0_14.exists()) {
                throw new ch.qos.logback.core.rolling.RolloverFailure(new StringBuilder().append("File [").append(p5).append("] does not exist.").toString());
            } else {
                String v1_10 = new java.io.File(p6);
                this.createMissingTargetDirsIfNecessary(v1_10);
                this.addInfo(new StringBuilder().append("Renaming file [").append(v0_14).append("] to [").append(v1_10).append("]").toString());
                if (!v0_14.renameTo(v1_10)) {
                    this.addWarn(new StringBuilder().append("Failed to rename file [").append(v0_14).append("] as [").append(v1_10).append("].").toString());
                    if (!this.areOnDifferentVolumes(v0_14, v1_10)) {
                        this.addWarn(new StringBuilder().append("Please consider leaving the [file] option of ").append(ch.qos.logback.core.rolling.RollingFileAppender.getSimpleName()).append(" empty.").toString());
                        this.addWarn(new StringBuilder().append("See also ").append(ch.qos.logback.core.rolling.helper.RenameUtil.RENAMING_ERROR_URL).toString());
                    } else {
                        this.addWarn(new StringBuilder().append("Detected different file systems for source [").append(p5).append("] and target [").append(p6).append("]. Attempting rename by copying.").toString());
                        this.renameByCopying(p5, p6);
                    }
                }
            }
        } else {
            this.addWarn(new StringBuilder().append("Source and target files are the same [").append(p5).append("]. Skipping.").toString());
        }
        return;
    }

Method ch.qos.logback.core.rolling.helper.Compressor.zipCompress() calling method java.io.File.<init>()


    private void zipCompress(String p8, String p9, String p10)
    {
        java.io.IOException v2_0 = 0;
        java.io.IOException v0_8 = new java.io.File(p8);
        if (v0_8.exists()) {
            if (p10 != null) {
                if (!p9.endsWith(".zip")) {
                    p9 = new StringBuilder().append(p9).append(".zip").toString();
                }
                int v1_19 = new java.io.File(p9);
                if (!v1_19.exists()) {
                    this.addInfo(new StringBuilder().append("ZIP compressing [").append(v0_8).append("] as [").append(v1_19).append("]").toString());
                    this.createMissingTargetDirsIfNecessary(v1_19);
                    try {
                        int v3_12 = new java.io.BufferedInputStream(new java.io.FileInputStream(p8));
                        try {
                            int v1_2 = new java.util.zip.ZipOutputStream(new java.io.FileOutputStream(p9));
                            try {
                                v1_2.putNextEntry(this.computeZipEntry(p10));
                                String v4_13 = new byte[8192];
                            } catch (java.io.IOException v0_1) {
                                v2_0 = v3_12;
                                if (v2_0 != null) {
                                    try {
                                        v2_0.close();
                                    } catch (java.io.IOException v2) {
                                    }
                                }
                                if (v1_2 != 0) {
                                    try {
                                        v1_2.close();
                                    } catch (int v1) {
                                    }
                                }
                                throw v0_1;
                            } catch (java.io.IOException v0_9) {
                                v2_0 = v3_12;
                                this.addStatus(new ch.qos.logback.core.status.ErrorStatus(new StringBuilder().append("Error occurred while compressing [").append(p8).append("] into [").append(p9).append("].").toString(), this, v0_9));
                                if (v2_0 != null) {
                                    try {
                                        v2_0.close();
                                    } catch (java.io.IOException v0) {
                                    }
                                }
                                if (v1_2 == 0) {
                                    return;
                                } else {
                                    try {
                                        v1_2.close();
                                    } catch (java.io.IOException v0) {
                                    }
                                    return;
                                }
                                if (0 != 0) {
                                    try {
                                        0.close();
                                    } catch (java.io.IOException v0) {
                                    }
                                }
                                if (0 != 0) {
                                    try {
                                        0.close();
                                    } catch (java.io.IOException v0) {
                                    }
                                }
                            }
                            while(true) {
                                String v5_2 = v3_12.read(v4_13);
                                if (v5_2 == -1) {
                                    break;
                                }
                                v1_2.write(v4_13, 0, v5_2);
                            }
                            v3_12.close();
                            v3_12 = 0;
                            try {
                                v1_2.close();
                                v1_2 = 0;
                            } catch (java.io.IOException v0_9) {
                            }
                            if (!v0_8.delete()) {
                                this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("Could not delete [").append(p8).append("].").toString(), this));
                            }
                        } catch (java.io.IOException v0_1) {
                            v1_2 = 0;
                            v2_0 = v3_12;
                        } catch (java.io.IOException v0_9) {
                            v1_2 = 0;
                            v2_0 = v3_12;
                        }
                    } catch (java.io.IOException v0_1) {
                        v1_2 = 0;
                    } catch (java.io.IOException v0_9) {
                        v1_2 = 0;
                    } catch (java.io.IOException v0_1) {
                    }
                } else {
                    this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("The target compressed file named [").append(p9).append("] exist already.").toString(), this));
                }
            } else {
                this.addStatus(new ch.qos.logback.core.status.WarnStatus("The innerEntryName parameter cannot be null", this));
            }
        } else {
            this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("The file to compress named [").append(p8).append("] does not exist.").toString(), this));
        }
        return;
    }

Method ch.qos.logback.core.rolling.helper.Compressor.gzCompress() calling method java.io.File.<init>()


    private void gzCompress(String p8, String p9)
    {
        int v2_0 = 0;
        java.io.IOException v0_10 = new java.io.File(p8);
        if (v0_10.exists()) {
            if (!p9.endsWith(".gz")) {
                p9 = new StringBuilder().append(p9).append(".gz").toString();
            }
            int v1_13 = new java.io.File(p9);
            if (!v1_13.exists()) {
                this.addInfo(new StringBuilder().append("GZ compressing [").append(v0_10).append("] as [").append(v1_13).append("]").toString());
                this.createMissingTargetDirsIfNecessary(v1_13);
                try {
                    ch.qos.logback.core.status.ErrorStatus v3_1 = new java.io.BufferedInputStream(new java.io.FileInputStream(p8));
                    try {
                        int v1_18 = new java.util.zip.GZIPOutputStream(new java.io.FileOutputStream(p9));
                        try {
                            String v4_11 = new byte[8192];
                        } catch (java.io.IOException v0_1) {
                            v2_0 = v1_18;
                            if (v3_1 != null) {
                                try {
                                    v3_1.close();
                                } catch (int v1) {
                                }
                            }
                            if (v2_0 != 0) {
                                try {
                                    v2_0.close();
                                } catch (int v1) {
                                }
                            }
                            throw v0_1;
                        } catch (java.io.IOException v0_11) {
                            v2_0 = v3_1;
                            try {
                                this.addStatus(new ch.qos.logback.core.status.ErrorStatus(new StringBuilder().append("Error occurred while compressing [").append(p8).append("] into [").append(p9).append("].").toString(), this, v0_11));
                            } catch (java.io.IOException v0_1) {
                                v3_1 = v2_0;
                                v2_0 = v1_18;
                            }
                            if (v2_0 != 0) {
                                try {
                                    v2_0.close();
                                } catch (java.io.IOException v0) {
                                }
                            }
                            if (v1_18 == 0) {
                                return;
                            } else {
                                try {
                                    v1_18.close();
                                } catch (java.io.IOException v0) {
                                }
                                return;
                            }
                            if (0 != 0) {
                                try {
                                    0.close();
                                } catch (java.io.IOException v0) {
                                }
                            }
                            if (0 != 0) {
                                try {
                                    0.close();
                                } catch (java.io.IOException v0) {
                                }
                            }
                        }
                        while(true) {
                            String v5_2 = v3_1.read(v4_11);
                            if (v5_2 == -1) {
                                break;
                            }
                            v1_18.write(v4_11, 0, v5_2);
                        }
                        v3_1.close();
                        v3_1 = 0;
                        try {
                            v1_18.close();
                            v1_18 = 0;
                        } catch (java.io.IOException v0_1) {
                            v3_1 = 0;
                            v2_0 = 0;
                        } catch (java.io.IOException v0_11) {
                        }
                        if (!v0_10.delete()) {
                            this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("Could not delete [").append(p8).append("].").toString(), this));
                        }
                    } catch (java.io.IOException v0_1) {
                    } catch (java.io.IOException v0_11) {
                        v1_18 = 0;
                        v2_0 = v3_1;
                    }
                } catch (java.io.IOException v0_1) {
                    v3_1 = 0;
                } catch (java.io.IOException v0_11) {
                    v1_18 = 0;
                }
            } else {
                this.addWarn(new StringBuilder().append("The target compressed file named [").append(p9).append("] exist already. Aborting file compression.").toString());
            }
        } else {
            this.addStatus(new ch.qos.logback.core.status.WarnStatus(new StringBuilder().append("The file to compress named [").append(p8).append("] does not exist.").toString(), this));
        }
        return;
    }

Method ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP.computeCurrentPeriodsHighestCounterValue() calling method java.io.File.<init>()


    void computeCurrentPeriodsHighestCounterValue(String p3)
    {
        int v0_11 = ch.qos.logback.core.rolling.helper.FileFilterUtil.filesInFolderMatchingStemRegex(new java.io.File(this.getCurrentPeriodsFileNameWithoutCompressionSuffix()).getParentFile(), p3);
        if ((v0_11 != 0) && (v0_11.length != 0)) {
            this.currentPeriodsCounter = ch.qos.logback.core.rolling.helper.FileFilterUtil.findHighestCounter(v0_11, p3);
            if ((this.tbrp.getParentsRawFileProperty() != null) || (this.tbrp.compressionMode != ch.qos.logback.core.rolling.helper.CompressionMode.NONE)) {
                this.currentPeriodsCounter = (this.currentPeriodsCounter + 1);
            }
        } else {
            this.currentPeriodsCounter = 0;
        }
        return;
    }

Method ch.qos.logback.core.rolling.RollingFileAppender.start() calling method java.io.File.<init>()


    public void start()
    {
        if (this.triggeringPolicy != null) {
            if (!this.append) {
                this.addWarn("Append mode is mandatory for RollingFileAppender");
                this.append = 1;
            }
            if (this.rollingPolicy != null) {
                if (!this.fileAndPatternCollide()) {
                    if (this.isPrudent()) {
                        if (this.rawFileProperty() != null) {
                            this.addWarn("Setting \"File\" property to null on account of prudent mode");
                            this.setFile(0);
                        }
                        if (this.rollingPolicy.getCompressionMode() != ch.qos.logback.core.rolling.helper.CompressionMode.NONE) {
                            this.addError("Compression is not supported in prudent mode. Aborting");
                            return;
                        }
                    }
                    this.currentlyActiveFile = new java.io.File(this.getFile());
                    this.addInfo(new StringBuilder().append("Active log file name: ").append(this.getFile()).toString());
                    super.start();
                } else {
                    this.addError("File property collides with fileNamePattern. Aborting.");
                    this.addError(new StringBuilder().append("For more information, please visit ").append(ch.qos.logback.core.rolling.RollingFileAppender.COLLISION_URL).toString());
                }
            } else {
                this.addError(new StringBuilder().append("No RollingPolicy was set for the RollingFileAppender named ").append(this.getName()).toString());
                this.addError(new StringBuilder().append("For more information, please visit ").append(ch.qos.logback.core.rolling.RollingFileAppender.RFA_NO_RP_URL).toString());
            }
        } else {
            this.addWarn(new StringBuilder().append("No TriggeringPolicy was set for the RollingFileAppender named ").append(this.getName()).toString());
            this.addWarn(new StringBuilder().append("For more information, please visit ").append(ch.qos.logback.core.rolling.RollingFileAppender.RFA_NO_TP_URL).toString());
        }
        return;
    }

Method ch.qos.logback.core.rolling.RollingFileAppender.rollover() calling method java.io.File.<init>()


    public void rollover()
    {
        try {
            this.closeOutputStream();
        } catch (java.io.IOException v0_4) {
            throw v0_4;
        }
        this.rollingPolicy.rollover();
        String v2_0 = this.rollingPolicy.getActiveFileName();
        try {
            this.currentlyActiveFile = new java.io.File(v2_0);
            this.openFile(v2_0);
        } catch (java.io.IOException v0_2) {
            this.addError(new StringBuilder().append("openFile(").append(v2_0).append(") failed").toString(), v0_2);
        }
        return;
    }

Method ch.qos.logback.core.rolling.FixedWindowRollingPolicy.rollover() calling method java.io.File.<init>()


    public void rollover()
    {
        if (this.maxIndex >= 0) {
            int v0_9 = new java.io.File(this.fileNamePattern.convertInt(this.maxIndex));
            if (v0_9.exists()) {
                v0_9.delete();
            }
            int v0_2 = (this.maxIndex - 1);
            while (v0_2 >= this.minIndex) {
                String v1_8 = this.fileNamePattern.convertInt(v0_2);
                if (!new java.io.File(v1_8).exists()) {
                    this.addInfo(new StringBuilder().append("Skipping roll-over for inexistent file ").append(v1_8).toString());
                } else {
                    this.util.rename(v1_8, this.fileNamePattern.convertInt((v0_2 + 1)));
                }
                v0_2--;
            }
            switch (ch.qos.logback.core.rolling.FixedWindowRollingPolicy$1.$SwitchMap$ch$qos$logback$core$rolling$helper$CompressionMode[this.compressionMode.ordinal()]) {
                case 1:
                    this.util.rename(this.getActiveFileName(), this.fileNamePattern.convertInt(this.minIndex));
                    break;
                case 2:
                    this.compressor.compress(this.getActiveFileName(), this.fileNamePattern.convertInt(this.minIndex), 0);
                    break;
                case 3:
                    this.compressor.compress(this.getActiveFileName(), this.fileNamePattern.convertInt(this.minIndex), this.zipEntryFileNamePattern.convert(new java.util.Date()));
                    break;
            }
        }
        return;
    }

Method ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase.start() calling method java.io.File.<init>()


    public void start()
    {
        String v0_6 = this.tbrp.fileNamePattern.getPrimaryDateTokenConverter();
        if (v0_6 != null) {
            this.rc = new ch.qos.logback.core.rolling.helper.RollingCalendar();
            this.rc.init(v0_6.getDatePattern());
            this.addInfo(new StringBuilder().append("The date pattern is \'").append(v0_6.getDatePattern()).append("\' from file name pattern \'").append(this.tbrp.fileNamePattern.getPattern()).append("\'.").toString());
            this.rc.printPeriodicity(this);
            this.setDateInCurrentPeriod(new java.util.Date(this.getCurrentTime()));
            if (this.tbrp.getParentsRawFileProperty() != null) {
                String v0_15 = new java.io.File(this.tbrp.getParentsRawFileProperty());
                if ((v0_15.exists()) && (v0_15.canRead())) {
                    this.setDateInCurrentPeriod(new java.util.Date(v0_15.lastModified()));
                }
            }
            this.addInfo(new StringBuilder().append("Setting initial period to ").append(this.dateInCurrentPeriod).toString());
            this.computeNextCheck();
            return;
        } else {
            throw new IllegalStateException(new StringBuilder().append("FileNamePattern [").append(this.tbrp.fileNamePattern.getPattern()).append("] does not contain a valid DateToken").toString());
        }
    }

Method ch.qos.logback.core.property.FileExistsPropertyDefiner.getPropertyValue() calling method java.io.File.<init>()


    public String getPropertyValue()
    {
        String v0_1;
        if (!ch.qos.logback.core.util.OptionHelper.isEmpty(this.path)) {
            v0_1 = ch.qos.logback.core.property.FileExistsPropertyDefiner.booleanAsStr(new java.io.File(this.path).exists());
        } else {
            this.addError("The \"path\" property must be set.");
            v0_1 = 0;
        }
        return v0_1;
    }

Method ch.qos.logback.core.joran.spi.ConfigurationWatchList.convertToFile() calling method java.io.File.<init>()


    java.io.File convertToFile(java.net.URL p3)
    {
        int v0_5;
        if (!"file".equals(p3.getProtocol())) {
            this.addInfo(new StringBuilder().append("URL [").append(p3).append("] is not of type file").toString());
            v0_5 = 0;
        } else {
            v0_5 = new java.io.File(java.net.URLDecoder.decode(p3.getFile()));
        }
        return v0_5;
    }

Method ch.qos.logback.core.FileAppender.openFile() calling method java.io.File.<init>()


    protected boolean openFile(String p5)
    {
        try {
            ch.qos.logback.core.Context v2_2 = new java.io.File(this.getAbsoluteFilePath(p5));
        } catch (String v0_10) {
            throw v0_10;
        }
        if ((ch.qos.logback.core.util.FileUtil.isParentDirectoryCreationRequired(v2_2)) && (!ch.qos.logback.core.util.FileUtil.createMissingParentDirectories(v2_2))) {
            this.addError(new StringBuilder().append("Failed to create parent directories for [").append(v2_2.getAbsolutePath()).append("]").toString());
        }
        String v0_8 = new ch.qos.logback.core.recovery.ResilientFileOutputStream(v2_2, this.append);
        v0_8.setContext(this.context);
        this.setOutputStream(v0_8);
        return 1;
    }

Method ch.qos.logback.core.FileAppender.getAbsoluteFilePath() calling method java.io.File.<init>()


    private String getAbsoluteFilePath(String p3)
    {
        if ((ch.qos.logback.core.util.EnvUtil.isAndroidOS()) && (!new java.io.File(p3).isAbsolute())) {
            p3 = ch.qos.logback.core.util.FileUtil.prefixRelativePath(this.context.getProperty("DATA_DIR"), p3);
        }
        return p3;
    }

Method ch.qos.logback.classic.util.ContextInitializer.findConfigFileFromSystemProperties() calling method java.io.File.<init>()


    private java.net.URL findConfigFileFromSystemProperties(boolean p5)
    {
        String v0_2;
        String v1 = 0;
        String v2 = ch.qos.logback.core.util.OptionHelper.getSystemProperty("logback.configurationFile");
        if (v2 == null) {
            v0_2 = 0;
        } else {
            try {
                String v0_8 = new java.io.File(v2);
            } catch (String v0) {
                v0_2 = ch.qos.logback.core.util.Loader.getResource(v2, this.classLoader);
                if (v0_2 == null) {
                    if (!p5) {
                    } else {
                        ClassLoader v3_2 = this.classLoader;
                        if (v0_2 == null) {
                            String v0_4 = 0;
                        } else {
                            v0_4 = v0_2.toString();
                        }
                        this.statusOnResourceSearch(v2, v3_2, v0_4);
                    }
                } else {
                    if (!p5) {
                        return v0_2;
                    } else {
                        ClassLoader v3_3 = this.classLoader;
                        if (v0_2 != null) {
                            v1 = v0_2.toString();
                        }
                        this.statusOnResourceSearch(v2, v3_3, v1);
                        return v0_2;
                    }
                }
                if (p5) {
                    ClassLoader v3_5 = this.classLoader;
                    if (v0_2 != null) {
                        v1 = v0_2.toString();
                    }
                    this.statusOnResourceSearch(v2, v3_5, v1);
                }
            } catch (String v0_5) {
                if (p5) {
                    ClassLoader v3_4 = this.classLoader;
                    if (0 != 0) {
                        v1 = 0.toString();
                    }
                    this.statusOnResourceSearch(v2, v3_4, v1);
                }
                throw v0_5;
            }
            if ((!v0_8.exists()) || (!v0_8.isFile())) {
                v0_2 = new java.net.URL(v2);
            } else {
                if (p5) {
                    this.statusOnResourceSearch(v2, this.classLoader, v2);
                }
                v0_2 = v0_8.toURI().toURL();
            }
        }
        return v0_2;
    }

Method ch.qos.logback.core.joran.action.AbstractIncludeAction.filePathAsURL() calling method java.io.File.<init>()


    private java.net.URL filePathAsURL(String p4)
    {
        java.net.URL v0 = 0;
        java.net.MalformedURLException v1_6 = new java.io.File(p4);
        if ((v1_6.exists()) && (v1_6.isFile())) {
            try {
                v0 = v1_6.toURI().toURL();
            } catch (java.net.MalformedURLException v1_2) {
                v1_2.printStackTrace();
            }
        } else {
            if (!this.optional) {
                this.handleError(new StringBuilder().append("File does not exist [").append(p4).append("]").toString(), new java.io.FileNotFoundException(p4));
            }
        }
        return v0;
    }

Method ch.qos.logback.core.joran.GenericConfigurator.doConfigure() calling method java.io.File.<init>()


    public final void doConfigure(String p2)
    {
        this.doConfigure(new java.io.File(p2));
        return;
    }

Method ch.qos.logback.classic.android.SQLiteAppender.start() calling method java.io.File.<init>()


    public void start()
    {
        String v2_0 = 0;
        android.database.sqlite.SQLiteException v0_0 = 1;
        this.started = 0;
        if (this.getContext() != null) {
            v2_0 = this.getContext().getProperty("PACKAGE_NAME");
        }
        if ((v2_0 != null) && (v2_0.length() != 0)) {
            try {
                int v3_2 = new java.io.File(ch.qos.logback.core.android.CommonPathUtil.getDatabaseDirectoryPath(v2_0), "logback.db");
                v3_2.getParentFile().mkdirs();
                this.db = android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(v3_2.getPath(), 0);
            } catch (android.database.sqlite.SQLiteException v0_1) {
                this.addError("Cannot open database", v0_1);
                v0_0 = 0;
            }
            if (v0_0 != null) {
                if (this.dbNameResolver == null) {
                    this.dbNameResolver = new ch.qos.logback.classic.db.names.DefaultDBNameResolver();
                }
                this.insertExceptionSQL = ch.qos.logback.classic.db.SQLBuilder.buildInsertExceptionSQL(this.dbNameResolver);
                this.insertPropertiesSQL = ch.qos.logback.classic.db.SQLBuilder.buildInsertPropertiesSQL(this.dbNameResolver);
                this.insertSQL = ch.qos.logback.classic.db.SQLBuilder.buildInsertSQL(this.dbNameResolver);
                try {
                    this.db.execSQL(ch.qos.logback.classic.db.SQLBuilder.buildCreateLoggingEventTableSQL(this.dbNameResolver));
                    this.db.execSQL(ch.qos.logback.classic.db.SQLBuilder.buildCreatePropertyTableSQL(this.dbNameResolver));
                    this.db.execSQL(ch.qos.logback.classic.db.SQLBuilder.buildCreateExceptionTableSQL(this.dbNameResolver));
                    super.start();
                    this.started = 1;
                } catch (android.database.sqlite.SQLiteException v0_15) {
                    this.addError("Cannot create database tables", v0_15);
                }
            }
        } else {
            this.addError("Cannot create database without package name");
        }
        return;
    }

Method android.support.v4.util.AtomicFile.<init>() calling method java.io.File.<init>()


    public AtomicFile(java.io.File p4)
    {
        this.mBaseName = p4;
        this.mBackupName = new java.io.File(new StringBuilder().append(p4.getPath()).append(".bak").toString());
        return;
    }

Method android.support.v4.provider.RawDocumentFile.renameTo() calling method java.io.File.<init>()


    public boolean renameTo(String p3)
    {
        int v1_1;
        java.io.File v0_1 = new java.io.File(this.mFile.getParentFile(), p3);
        if (!this.mFile.renameTo(v0_1)) {
            v1_1 = 0;
        } else {
            this.mFile = v0_1;
            v1_1 = 1;
        }
        return v1_1;
    }

Method android.support.v4.provider.RawDocumentFile.createFile() calling method java.io.File.<init>()


    public android.support.v4.provider.DocumentFile createFile(String p7, String p8)
    {
        String v1 = android.webkit.MimeTypeMap.getSingleton().getExtensionFromMimeType(p7);
        if (v1 != null) {
            p8 = new StringBuilder().append(p8).append(".").append(v1).toString();
        }
        java.io.File v2_1 = new java.io.File(this.mFile, p8);
        try {
            v2_1.createNewFile();
            int v3_5 = new android.support.v4.provider.RawDocumentFile(this, v2_1);
        } catch (java.io.IOException v0) {
            android.util.Log.w("DocumentFile", new StringBuilder().append("Failed to createFile: ").append(v0).toString());
            v3_5 = 0;
        }
        return v3_5;
    }

Method android.support.v4.provider.RawDocumentFile.createDirectory() calling method java.io.File.<init>()


    public android.support.v4.provider.DocumentFile createDirectory(String p3)
    {
        int v1_2;
        java.io.File v0_1 = new java.io.File(this.mFile, p3);
        if ((!v0_1.isDirectory()) && (!v0_1.mkdir())) {
            v1_2 = 0;
        } else {
            v1_2 = new android.support.v4.provider.RawDocumentFile(this, v0_1);
        }
        return v1_2;
    }

Method android.support.v4.content.FileProvider.buildPath() calling method java.io.File.<init>()


    private static varargs java.io.File buildPath(java.io.File p5, String[] p6)
    {
        int v4 = p6.length;
        int v3 = 0;
        java.io.File v1 = p5;
        while (v3 < v4) {
            java.io.File v0_1;
            String v2 = p6[v3];
            if (v2 == null) {
                v0_1 = v1;
            } else {
                v0_1 = new java.io.File(v1, v2);
            }
            v3++;
            v1 = v0_1;
        }
        return v1;
    }

Method android.support.v4.content.FileProvider.<clinit>() calling method java.io.File.<init>()


    static FileProvider()
    {
        java.util.HashMap v0_1 = new String[2];
        v0_1[0] = "_display_name";
        v0_1[1] = "_size";
        android.support.v4.content.FileProvider.COLUMNS = v0_1;
        android.support.v4.content.FileProvider.DEVICE_ROOT = new java.io.File("/");
        android.support.v4.content.FileProvider.sCache = new java.util.HashMap();
        return;
    }

Method android.support.v4.content.FileProvider$SimplePathStrategy.getFileForUri() calling method java.io.File.<init>()


    public java.io.File getFileForUri(android.net.Uri p10)
    {
        String v2_1 = p10.getEncodedPath();
        int v4 = v2_1.indexOf(47, 1);
        String v5 = android.net.Uri.decode(v2_1.substring(1, v4));
        String vtmp6 = android.net.Uri.decode(v2_1.substring((v4 + 1)));
        java.io.File v3_1 = ((java.io.File) this.mRoots.get(v5));
        if (v3_1 != null) {
            try {
                java.io.File v1_2 = new java.io.File(v3_1, vtmp6).getCanonicalFile();
            } catch (java.io.IOException v0) {
                throw new IllegalArgumentException(new StringBuilder().append("Failed to resolve canonical path for ").append(v1_2).toString());
            }
            if (v1_2.getPath().startsWith(v3_1.getPath())) {
                return v1_2;
            } else {
                throw new SecurityException("Resolved path jumped beyond configured root");
            }
        } else {
            throw new IllegalArgumentException(new StringBuilder().append("Unable to find configured root for ").append(p10).toString());
        }
    }

Method android.support.v4.content.ContextCompat.getNoBackupFilesDir() calling method java.io.File.<init>()


    public static final java.io.File getNoBackupFilesDir(android.content.Context p5)
    {
        java.io.File v2_1;
        if (android.os.Build$VERSION.SDK_INT < 21) {
            v2_1 = android.support.v4.content.ContextCompat.createFilesDir(new java.io.File(p5.getApplicationInfo().dataDir, "no_backup"));
        } else {
            v2_1 = android.support.v4.content.ContextCompatApi21.getNoBackupFilesDir(p5);
        }
        return v2_1;
    }

Method android.support.v4.content.ContextCompat.getDataDir() calling method java.io.File.<init>()


    public static java.io.File getDataDir(android.content.Context p2)
    {
        int v1_1;
        if (!android.support.v4.os.BuildCompat.isAtLeastN()) {
            String v0 = p2.getApplicationInfo().dataDir;
            if (v0 == null) {
                v1_1 = 0;
            } else {
                v1_1 = new java.io.File(v0);
            }
        } else {
            v1_1 = android.support.v4.content.ContextCompatApi24.getDataDir(p2);
        }
        return v1_1;
    }

Method android.support.v4.content.ContextCompat.getCodeCacheDir() calling method java.io.File.<init>()


    public static java.io.File getCodeCacheDir(android.content.Context p5)
    {
        java.io.File v2_1;
        if (android.os.Build$VERSION.SDK_INT < 21) {
            v2_1 = android.support.v4.content.ContextCompat.createFilesDir(new java.io.File(p5.getApplicationInfo().dataDir, "code_cache"));
        } else {
            v2_1 = android.support.v4.content.ContextCompatApi21.getCodeCacheDir(p5);
        }
        return v2_1;
    }

Method android.support.v4.content.ContextCompat.buildPath() calling method java.io.File.<init>()


    private static varargs java.io.File buildPath(java.io.File p5, String[] p6)
    {
        int v4 = p6.length;
        int v3 = 0;
        java.io.File v1 = p5;
        while (v3 < v4) {
            java.io.File v0_2;
            String v2 = p6[v3];
            if (v1 != null) {
                if (v2 == null) {
                    v0_2 = v1;
                } else {
                    v0_2 = new java.io.File(v1, v2);
                }
            } else {
                v0_2 = new java.io.File(v2);
            }
            v3++;
            v1 = v0_2;
        }
        return v1;
    }

Method android.support.multidex.MultiDexExtractor.load() calling method java.io.File.<init>()


    static java.util.List load(android.content.Context p18, java.io.File p19, java.io.File p20, String p21, boolean p22)
    {
        android.util.Log.i("MultiDex", new StringBuilder().append("MultiDexExtractor.load(").append(p19.getPath()).append(", ").append(p22).append(", ").append(p21).append(")").toString());
        long v8 = android.support.multidex.MultiDexExtractor.getZipCrc(p19);
        java.io.File v15_1 = new java.io.File(p20, "MultiDex.lock");
        java.io.RandomAccessFile v16 = new java.io.RandomAccessFile;
        v16(v15_1, "rw");
        java.nio.channels.FileLock v11 = 0;
        java.io.IOException v17 = 0;
        try {
            java.util.List v10;
            java.nio.channels.FileChannel v14 = v16.getChannel();
            android.util.Log.i("MultiDex", new StringBuilder().append("Blocking on lock ").append(v15_1.getPath()).toString());
            v11 = v14.lock();
            android.util.Log.i("MultiDex", new StringBuilder().append(v15_1.getPath()).append(" locked").toString());
        } catch (String v4_1) {
            if (v11 != null) {
                try {
                    v11.release();
                } catch (java.io.IOException v12_0) {
                    android.util.Log.e("MultiDex", new StringBuilder().append("Failed to release lock on ").append(v15_1.getPath()).toString());
                }
            }
            if (v14 != null) {
                android.support.multidex.MultiDexExtractor.closeQuietly(v14);
            }
            android.support.multidex.MultiDexExtractor.closeQuietly(v16);
            throw v4_1;
        }
        if ((p22) || (android.support.multidex.MultiDexExtractor.isModified(p18, p19, v8, p21))) {
            android.util.Log.i("MultiDex", "Detected that extraction must be performed.");
            v10 = android.support.multidex.MultiDexExtractor.performExtractions(p19, p20);
            android.support.multidex.MultiDexExtractor.putStoredApkInfo(p18, p21, android.support.multidex.MultiDexExtractor.getTimeStamp(p19), v8, v10);
        } else {
            try {
                v10 = android.support.multidex.MultiDexExtractor.loadExistingExtractions(p18, p19, p20, p21);
            } catch (java.io.IOException v13) {
                android.util.Log.w("MultiDex", "Failed to reload existing extracted secondary dex files, falling back to fresh extraction", v13);
                v10 = android.support.multidex.MultiDexExtractor.performExtractions(p19, p20);
                android.support.multidex.MultiDexExtractor.putStoredApkInfo(p18, p21, android.support.multidex.MultiDexExtractor.getTimeStamp(p19), v8, v10);
            }
        }
        if (v11 != null) {
            try {
                v11.release();
            } catch (java.io.IOException v12_1) {
                android.util.Log.e("MultiDex", new StringBuilder().append("Failed to release lock on ").append(v15_1.getPath()).toString());
                v17 = v12_1;
            }
        }
        if (v14 != null) {
            android.support.multidex.MultiDexExtractor.closeQuietly(v14);
        }
        android.support.multidex.MultiDexExtractor.closeQuietly(v16);
        if (v17 == null) {
            android.util.Log.i("MultiDex", new StringBuilder().append("load found ").append(v10.size()).append(" secondary dex files").toString());
            return v10;
        } else {
            throw v17;
        }
    }

Method android.support.multidex.MultiDexExtractor$ExtractedDex.<init>() calling method java.io.File.<init>()


    public MultiDexExtractor$ExtractedDex(java.io.File p3, String p4)
    {
        super(p3, p4);
        super.crc = -1;
        return;
    }

Method android.support.multidex.MultiDex.installInstrumentation() calling method java.io.File.<init>()


    public static void installInstrumentation(android.content.Context p9, android.content.Context p10)
    {
        android.util.Log.i("MultiDex", "Installing instrumentation");
        if (!android.support.multidex.MultiDex.IS_VM_MULTIDEX_CAPABLE) {
            if (android.os.Build$VERSION.SDK_INT >= 4) {
                try {
                    android.content.pm.ApplicationInfo v3 = android.support.multidex.MultiDex.getApplicationInfo(p9);
                } catch (Exception v2) {
                    android.util.Log.e("MultiDex", "MultiDex installation failure", v2);
                    throw new RuntimeException(new StringBuilder().append("MultiDex installation failed (").append(v2.getMessage()).append(").").toString());
                }
                if (v3 != null) {
                    android.content.pm.ApplicationInfo v0 = android.support.multidex.MultiDex.getApplicationInfo(p10);
                    if (v0 != null) {
                        String v4 = new StringBuilder().append(p9.getPackageName()).append(".").toString();
                        java.io.File v1_1 = new java.io.File(v0.dataDir);
                        android.support.multidex.MultiDex.doInstallation(p10, new java.io.File(v3.sourceDir), v1_1, new StringBuilder().append(v4).append("secondary-dexes").toString(), v4);
                        android.support.multidex.MultiDex.doInstallation(p10, new java.io.File(v0.sourceDir), v1_1, "secondary-dexes", "");
                        android.util.Log.i("MultiDex", "Installation done");
                    } else {
                        android.util.Log.i("MultiDex", "No ApplicationInfo available, i.e. running on a test Context: MultiDex support library is disabled.");
                    }
                } else {
                    android.util.Log.i("MultiDex", "No ApplicationInfo available for instrumentation, i.e. running on a test Context: MultiDex support library is disabled.");
                }
            } else {
                throw new RuntimeException(new StringBuilder().append("MultiDex installation failed. SDK ").append(android.os.Build$VERSION.SDK_INT).append(" is unsupported. Min SDK version is ").append(4).append(".").toString());
            }
        } else {
            android.util.Log.i("MultiDex", "VM has multidex support, MultiDex support library is disabled.");
        }
        return;
    }

Method android.support.multidex.MultiDex.install() calling method java.io.File.<init>()


    public static void install(android.content.Context p6)
    {
        android.util.Log.i("MultiDex", "Installing application");
        if (!android.support.multidex.MultiDex.IS_VM_MULTIDEX_CAPABLE) {
            if (android.os.Build$VERSION.SDK_INT >= 4) {
                try {
                    android.content.pm.ApplicationInfo v0 = android.support.multidex.MultiDex.getApplicationInfo(p6);
                } catch (Exception v1) {
                    android.util.Log.e("MultiDex", "MultiDex installation failure", v1);
                    throw new RuntimeException(new StringBuilder().append("MultiDex installation failed (").append(v1.getMessage()).append(").").toString());
                }
                if (v0 != null) {
                    android.support.multidex.MultiDex.doInstallation(p6, new java.io.File(v0.sourceDir), new java.io.File(v0.dataDir), "secondary-dexes", "");
                    android.util.Log.i("MultiDex", "install done");
                } else {
                    android.util.Log.i("MultiDex", "No ApplicationInfo available, i.e. running on a test Context: MultiDex support library is disabled.");
                }
            } else {
                throw new RuntimeException(new StringBuilder().append("MultiDex installation failed. SDK ").append(android.os.Build$VERSION.SDK_INT).append(" is unsupported. Min SDK version is ").append(4).append(".").toString());
            }
        } else {
            android.util.Log.i("MultiDex", "VM has multidex support, MultiDex support library is disabled.");
        }
        return;
    }

Method android.support.multidex.MultiDex.getDexDir() calling method java.io.File.<init>()


    private static java.io.File getDexDir(android.content.Context p5, java.io.File p6, String p7)
    {
        java.io.File v0_1 = new java.io.File(p6, "code_cache");
        try {
            android.support.multidex.MultiDex.mkdirChecked(v0_1);
        } catch (java.io.IOException v2) {
            v0_1 = new java.io.File(p5.getFilesDir(), "code_cache");
            android.support.multidex.MultiDex.mkdirChecked(v0_1);
        }
        java.io.File v1_1 = new java.io.File(v0_1, p7);
        android.support.multidex.MultiDex.mkdirChecked(v1_1);
        return v1_1;
    }

Method android.support.multidex.MultiDex.clearOldDexDir() calling method java.io.File.<init>()


    private static void clearOldDexDir(android.content.Context p10)
    {
        java.io.File v0_1 = new java.io.File(p10.getFilesDir(), "secondary-dexes");
        if (v0_1.isDirectory()) {
            android.util.Log.i("MultiDex", new StringBuilder().append("Clearing old secondary dex dir (").append(v0_1.getPath()).append(").").toString());
            java.io.File[] v1 = v0_1.listFiles();
            if (v1 != null) {
                String v4_11 = v1.length;
                int v3_0 = 0;
                while (v3_0 < v4_11) {
                    java.io.File v2 = v1[v3_0];
                    android.util.Log.i("MultiDex", new StringBuilder().append("Trying to delete old file ").append(v2.getPath()).append(" of size ").append(v2.length()).toString());
                    if (v2.delete()) {
                        android.util.Log.i("MultiDex", new StringBuilder().append("Deleted old file ").append(v2.getPath()).toString());
                    } else {
                        android.util.Log.w("MultiDex", new StringBuilder().append("Failed to delete old file ").append(v2.getPath()).toString());
                    }
                    v3_0++;
                }
                if (v0_1.delete()) {
                    android.util.Log.i("MultiDex", new StringBuilder().append("Deleted old secondary dex dir ").append(v0_1.getPath()).toString());
                } else {
                    android.util.Log.w("MultiDex", new StringBuilder().append("Failed to delete secondary dex dir ").append(v0_1.getPath()).toString());
                }
            } else {
                android.util.Log.w("MultiDex", new StringBuilder().append("Failed to list secondary dex dir content (").append(v0_1.getPath()).append(").").toString());
            }
        }
        return;
    }

Method com.google.android.gms.internal.zzchj.zzazs() calling method java.io.RandomAccessFile.<init>()


    private final boolean zzazs()
    {
        this.zzawl().zzut();
        try {
            int v0_11;
            this.zzjdb = new java.io.RandomAccessFile(new java.io.File(this.mContext.getFilesDir(), "google_app_measurement.db"), "rw").getChannel();
            this.zzjda = this.zzjdb.tryLock();
        } catch (int v0_13) {
            this.zzawm().zzayr().zzj("Failed to acquire storage lock", v0_13);
            v0_11 = 0;
            return v0_11;
        } catch (int v0_12) {
            this.zzawm().zzayr().zzj("Failed to access storage lock file", v0_12);
        }
        if (this.zzjda == null) {
            this.zzawm().zzayr().log("Storage concurrent data access panic");
        } else {
            this.zzawm().zzayx().log("Storage concurrent access okay");
            v0_11 = 1;
            return v0_11;
        }
    }

Method android.support.multidex.ZipUtil.getZipCrc() calling method java.io.RandomAccessFile.<init>()


    static long getZipCrc(java.io.File p4)
    {
        java.io.RandomAccessFile v1_1 = new java.io.RandomAccessFile(p4, "r");
        try {
            Throwable v2_1 = android.support.multidex.ZipUtil.computeCrcOfCentralDir(v1_1, android.support.multidex.ZipUtil.findCentralDirectory(v1_1));
            v1_1.close();
            return v2_1;
        } catch (Throwable v2_2) {
            v1_1.close();
            throw v2_2;
        }
    }

Method android.support.multidex.MultiDexExtractor.load() calling method java.io.RandomAccessFile.<init>()


    static java.util.List load(android.content.Context p18, java.io.File p19, java.io.File p20, String p21, boolean p22)
    {
        android.util.Log.i("MultiDex", new StringBuilder().append("MultiDexExtractor.load(").append(p19.getPath()).append(", ").append(p22).append(", ").append(p21).append(")").toString());
        long v8 = android.support.multidex.MultiDexExtractor.getZipCrc(p19);
        java.io.File v15_1 = new java.io.File(p20, "MultiDex.lock");
        java.io.RandomAccessFile v16 = new java.io.RandomAccessFile;
        v16(v15_1, "rw");
        java.nio.channels.FileLock v11 = 0;
        java.io.IOException v17 = 0;
        try {
            java.util.List v10;
            java.nio.channels.FileChannel v14 = v16.getChannel();
            android.util.Log.i("MultiDex", new StringBuilder().append("Blocking on lock ").append(v15_1.getPath()).toString());
            v11 = v14.lock();
            android.util.Log.i("MultiDex", new StringBuilder().append(v15_1.getPath()).append(" locked").toString());
        } catch (String v4_1) {
            if (v11 != null) {
                try {
                    v11.release();
                } catch (java.io.IOException v12_0) {
                    android.util.Log.e("MultiDex", new StringBuilder().append("Failed to release lock on ").append(v15_1.getPath()).toString());
                }
            }
            if (v14 != null) {
                android.support.multidex.MultiDexExtractor.closeQuietly(v14);
            }
            android.support.multidex.MultiDexExtractor.closeQuietly(v16);
            throw v4_1;
        }
        if ((p22) || (android.support.multidex.MultiDexExtractor.isModified(p18, p19, v8, p21))) {
            android.util.Log.i("MultiDex", "Detected that extraction must be performed.");
            v10 = android.support.multidex.MultiDexExtractor.performExtractions(p19, p20);
            android.support.multidex.MultiDexExtractor.putStoredApkInfo(p18, p21, android.support.multidex.MultiDexExtractor.getTimeStamp(p19), v8, v10);
        } else {
            try {
                v10 = android.support.multidex.MultiDexExtractor.loadExistingExtractions(p18, p19, p20, p21);
            } catch (java.io.IOException v13) {
                android.util.Log.w("MultiDex", "Failed to reload existing extracted secondary dex files, falling back to fresh extraction", v13);
                v10 = android.support.multidex.MultiDexExtractor.performExtractions(p19, p20);
                android.support.multidex.MultiDexExtractor.putStoredApkInfo(p18, p21, android.support.multidex.MultiDexExtractor.getTimeStamp(p19), v8, v10);
            }
        }
        if (v11 != null) {
            try {
                v11.release();
            } catch (java.io.IOException v12_1) {
                android.util.Log.e("MultiDex", new StringBuilder().append("Failed to release lock on ").append(v15_1.getPath()).toString());
                v17 = v12_1;
            }
        }
        if (v14 != null) {
            android.support.multidex.MultiDexExtractor.closeQuietly(v14);
        }
        android.support.multidex.MultiDexExtractor.closeQuietly(v16);
        if (v17 == null) {
            android.util.Log.i("MultiDex", new StringBuilder().append("load found ").append(v10.size()).append(" secondary dex files").toString());
            return v10;
        } else {
            throw v17;
        }
    }

Method com.google.android.gms.internal.zzapj.zzs() calling method android.content.Context.openFileOutput()


    private final boolean zzs(android.content.Context p5, String p6)
    {
        java.io.IOException v0_0 = 0;
        com.google.android.gms.common.internal.zzbq.zzgh(p6);
        com.google.android.gms.common.internal.zzbq.zzgi("ClientId should be saved from worker thread");
        try {
            this.zza("Storing clientId", p6);
            String v2_0 = p5.openFileOutput("gaClientId", 0);
            v2_0.write(p6.getBytes());
        } catch (java.io.IOException v1_4) {
            this.zze("Error creating clientId file", v1_4);
            if (v2_0 == null) {
                return v0_0;
            } else {
                try {
                    v2_0.close();
                } catch (java.io.IOException v1_5) {
                    this.zze("Failed to close clientId writing stream", v1_5);
                }
                return v0_0;
            }
        } catch (java.io.IOException v1_1) {
            this.zze("Error writing to clientId file", v1_1);
            if (v2_0 == null) {
                return v0_0;
            } else {
                try {
                    v2_0.close();
                } catch (java.io.IOException v1_3) {
                    this.zze("Failed to close clientId writing stream", v1_3);
                }
                return v0_0;
            }
        } catch (java.io.IOException v0_1) {
            if (v2_0 != null) {
                try {
                    v2_0.close();
                } catch (java.io.IOException v1_6) {
                    this.zze("Failed to close clientId writing stream", v1_6);
                }
            }
            throw v0_1;
        }
        if (v2_0 != null) {
            try {
                v2_0.close();
            } catch (java.io.IOException v0_2) {
                this.zze("Failed to close clientId writing stream", v0_2);
            }
        }
        v0_0 = 1;
        return v0_0;
    }

Method com.google.android.gms.internal.zzaof.zzdm() calling method android.content.Context.openFileOutput()


    private final boolean zzdm(String p6)
    {
        try {
            java.io.IOException v1_1 = com.google.android.gms.internal.zzaof.zzdl(p6);
            this.zzdn("Storing hashed adid.");
            String v2_0 = this.getContext().openFileOutput("gaClientIdData", 0);
            v2_0.write(v1_1.getBytes());
            v2_0.close();
            this.zzdpr = v1_1;
        } catch (java.io.IOException v1_0) {
            this.zze("Error creating hash file", v1_0);
        }
        return 1;
    }

Method android.support.v7.widget.ActivityChooserModel$PersistHistoryAsyncTask.doInBackground() calling method android.content.Context.openFileOutput()


    public varargs Void doInBackground(Object[] p19)
    {
        java.util.List v4_1 = ((java.util.List) p19[0]);
        String v5_1 = ((String) p19[1]);
        try {
            java.io.FileOutputStream v3 = this.this$0.mContext.openFileOutput(v5_1, 0);
            org.xmlpull.v1.XmlSerializer v12 = android.util.Xml.newSerializer();
            try {
                v12.setOutput(v3, 0);
                v12.startDocument("UTF-8", Boolean.valueOf(1));
                v12.startTag(0, "historical-records");
                int v11 = v4_1.size();
                int v6 = 0;
            } catch (IllegalArgumentException v7) {
                android.util.Log.e(android.support.v7.widget.ActivityChooserModel.LOG_TAG, new StringBuilder().append("Error writing historical record file: ").append(this.this$0.mHistoryFileName).toString(), v7);
                this.this$0.mCanReadHistoricalData = 1;
                if (v3 == null) {
                    java.io.IOException v13_3 = 0;
                    return v13_3;
                } else {
                    try {
                        v3.close();
                    } catch (java.io.IOException v13) {
                    }
                }
            } catch (IllegalStateException v9) {
                android.util.Log.e(android.support.v7.widget.ActivityChooserModel.LOG_TAG, new StringBuilder().append("Error writing historical record file: ").append(this.this$0.mHistoryFileName).toString(), v9);
                this.this$0.mCanReadHistoricalData = 1;
                if (v3 == null) {
                } else {
                    try {
                        v3.close();
                    } catch (java.io.IOException v13) {
                    }
                }
            } catch (java.io.IOException v8) {
                android.util.Log.e(android.support.v7.widget.ActivityChooserModel.LOG_TAG, new StringBuilder().append("Error writing historical record file: ").append(this.this$0.mHistoryFileName).toString(), v8);
                this.this$0.mCanReadHistoricalData = 1;
                if (v3 == null) {
                } else {
                    try {
                        v3.close();
                    } catch (java.io.IOException v13) {
                    }
                }
            } catch (java.io.IOException v13_2) {
                this.this$0.mCanReadHistoricalData = 1;
                if (v3 != null) {
                    try {
                        v3.close();
                    } catch (int v14) {
                    }
                }
                throw v13_2;
            }
            while (v6 < v11) {
                android.support.v7.widget.ActivityChooserModel$HistoricalRecord v10_1 = ((android.support.v7.widget.ActivityChooserModel$HistoricalRecord) v4_1.remove(0));
                v12.startTag(0, "historical-record");
                v12.attribute(0, "activity", v10_1.activity.flattenToString());
                v12.attribute(0, "time", String.valueOf(v10_1.time));
                v12.attribute(0, "weight", String.valueOf(v10_1.weight));
                v12.endTag(0, "historical-record");
                v6++;
            }
            v12.endTag(0, "historical-records");
            v12.endDocument();
            this.this$0.mCanReadHistoricalData = 1;
            if (v3 == null) {
            } else {
                try {
                    v3.close();
                } catch (java.io.IOException v13) {
                }
            }
        } catch (java.io.FileNotFoundException v2) {
            android.util.Log.e(android.support.v7.widget.ActivityChooserModel.LOG_TAG, new StringBuilder().append("Error writing historical record file: ").append(v5_1).toString(), v2);
            v13_3 = 0;
            return v13_3;
        }
    }