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 com.google.android.gms.common.data.BitmapTeleporter.zzcj() calling method java.io.FileOutputStream.<init>()


    private final java.io.FileOutputStream zzcj()
    {
        if (this.zzne != null) {
            try {
                IllegalStateException v0_6 = java.io.File.createTempFile("teleporter", ".tmp", this.zzne);
                try {
                    String v1_2 = new java.io.FileOutputStream(v0_6);
                    this.zznb = 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.zznb = 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 org.apache.cordova.file.LocalFilesystem.writeToFileAtURL() calling method java.io.FileOutputStream.<init>()


    public long writeToFileAtURL(org.apache.cordova.file.LocalFilesystemURL p12, String p13, int p14, boolean p15)
    {
        int v1 = 0;
        if (p14 > 0) {
            this.truncateFileAtURL(p12, ((long) p14));
            v1 = 1;
        }
        byte[] v6;
        if (!p15) {
            v6 = p13.getBytes(java.nio.charset.Charset.defaultCharset());
        } else {
            v6 = android.util.Base64.decode(p13, 0);
        }
        java.io.ByteArrayInputStream v4_1 = new java.io.ByteArrayInputStream(v6);
        try {
            byte[] v2 = new byte[v6.length];
            String v0 = this.filesystemPathForURL(p12);
            java.io.FileOutputStream v5_1 = new java.io.FileOutputStream(v0, v1);
            try {
                v4_1.read(v2, 0, v2.length);
                v5_1.write(v2, 0, v6.length);
                v5_1.flush();
            } catch (long v8_3) {
                v5_1.close();
                throw v8_3;
            }
            v5_1.close();
            if (this.isPublicDirectory(v0)) {
                this.broadcastNewFile(android.net.Uri.fromFile(new java.io.File(v0)));
            }
            return ((long) v6.length);
        } catch (NullPointerException v3) {
            org.apache.cordova.file.NoModificationAllowedException v7_1 = new org.apache.cordova.file.NoModificationAllowedException(p12.toString());
            v7_1.initCause(v3);
            throw v7_1;
        }
    }

Method org.apache.cordova.file.LocalFilesystem.copyFile() calling method java.io.FileOutputStream.<init>()


    private void copyFile(org.apache.cordova.file.Filesystem p6, org.apache.cordova.file.LocalFilesystemURL p7, java.io.File p8, boolean p9)
    {
        if (!p9) {
            org.apache.cordova.file.LocalFilesystem.copyResource(this.resourceApi.openForRead(p6.toNativeUri(p7)), new java.io.FileOutputStream(p8));
            if (p9) {
                p6.removeFileAtLocalURL(p7);
            }
        } else {
            String v1 = p6.filesystemPathForURL(p7);
            if ((v1 == null) || (!new java.io.File(v1).renameTo(p8))) {
            }
        }
        return;
    }

Method org.apache.cordova.camera.CameraLauncher.outputModifiedBitmap() calling method java.io.FileOutputStream.<init>()


    private String outputModifiedBitmap(android.graphics.Bitmap p10, android.net.Uri p11)
    {
        String v2;
        String v5 = org.apache.cordova.camera.FileHelper.getRealPath(p11, this.cordova);
        if (v5 == null) {
            org.apache.cordova.camera.ExifHelper v7_1;
            StringBuilder vtmp4 = new StringBuilder().append("modified.");
            if (this.encodingType != 0) {
                v7_1 = "png";
            } else {
                v7_1 = "jpg";
            }
            v2 = vtmp4.append(v7_1).toString();
        } else {
            v2 = v5.substring((v5.lastIndexOf(47) + 1));
        }
        android.graphics.Bitmap$CompressFormat v0;
        new java.text.SimpleDateFormat("yyyyMMdd_HHmmss").format(new java.util.Date());
        String v3 = new StringBuilder().append(this.getTempDirectoryPath()).append("/").append(v2).toString();
        java.io.FileOutputStream v4_1 = new java.io.FileOutputStream(v3);
        if (this.encodingType != 0) {
            v0 = android.graphics.Bitmap$CompressFormat.PNG;
        } else {
            v0 = android.graphics.Bitmap$CompressFormat.JPEG;
        }
        p10.compress(v0, this.mQuality, v4_1);
        v4_1.close();
        if ((this.exifData != null) && (this.encodingType == 0)) {
            try {
                if ((this.correctOrientation) && (this.orientationCorrected)) {
                    this.exifData.resetOrientation();
                }
            } catch (java.io.IOException v1) {
                v1.printStackTrace();
            }
            this.exifData.createOutFile(v3);
            this.exifData.writeExifData();
            this.exifData = 0;
        }
        return v3;
    }

Method org.apache.cordova.CordovaResourceApi.openOutputStream() calling method java.io.FileOutputStream.<init>()


    public java.io.OutputStream openOutputStream(android.net.Uri p7, boolean p8)
    {
        java.io.FileOutputStream v3_0;
        this.assertBackgroundThread();
        switch (org.apache.cordova.CordovaResourceApi.getUriType(p7)) {
            case 0:
                java.io.File v1_1 = new java.io.File(p7.getPath());
                java.io.File v2 = v1_1.getParentFile();
                if (v2 != null) {
                    v2.mkdirs();
                }
                v3_0 = new java.io.FileOutputStream(v1_1, p8);
                break;
            case 1:
            default:
                throw new java.io.FileNotFoundException(new StringBuilder().append("URI not supported by CordovaResourceApi: ").append(p7).toString());
                break;
            case 2:
            case 3:
                java.io.FileOutputStream v3_6;
                if (!p8) {
                    v3_6 = "w";
                } else {
                    v3_6 = "wa";
                }
                v3_0 = this.contentResolver.openAssetFileDescriptor(p7, v3_6).createOutputStream();
                break;
        }
        return v3_0;
    }

Method com.github.kevinsawicki.http.HttpRequest.receive() calling method java.io.FileOutputStream.<init>()


    public com.github.kevinsawicki.http.HttpRequest receive(java.io.File p5)
    {
        try {
            return ((com.github.kevinsawicki.http.HttpRequest) new com.github.kevinsawicki.http.HttpRequest$5(this, new java.io.BufferedOutputStream(new java.io.FileOutputStream(p5), this.bufferSize), this.ignoreCloseExceptions, new java.io.BufferedOutputStream(new java.io.FileOutputStream(p5), this.bufferSize)).call());
        } catch (java.io.FileNotFoundException v0) {
            throw new com.github.kevinsawicki.http.HttpRequest$HttpRequestException(v0);
        }
    }

Method com.facebook.internal.NativeAppCallAttachmentStore.processAttachmentFile() calling method java.io.FileOutputStream.<init>()


    private static void processAttachmentFile(android.net.Uri p4, boolean p5, java.io.File p6)
    {
        java.io.InputStream v0;
        java.io.FileOutputStream v2_1 = new java.io.FileOutputStream(p6);
        try {
            if (p5) {
                v0 = com.facebook.FacebookSdk.getApplicationContext().getContentResolver().openInputStream(p4);
            } else {
                v0 = new java.io.FileInputStream(p4.getPath());
            }
        } catch (Throwable v3_1) {
            com.facebook.internal.Utility.closeQuietly(v2_1);
            throw v3_1;
        }
        com.facebook.internal.Utility.copyAndCloseInputStream(v0, v2_1);
        com.facebook.internal.Utility.closeQuietly(v2_1);
        return;
    }

Method com.facebook.internal.NativeAppCallAttachmentStore.processAttachmentBitmap() calling method java.io.FileOutputStream.<init>()


    private static void processAttachmentBitmap(android.graphics.Bitmap p3, java.io.File p4)
    {
        java.io.FileOutputStream v0_1 = new java.io.FileOutputStream(p4);
        try {
            p3.compress(android.graphics.Bitmap$CompressFormat.JPEG, 100, v0_1);
            com.facebook.internal.Utility.closeQuietly(v0_1);
            return;
        } catch (Throwable v1_1) {
            com.facebook.internal.Utility.closeQuietly(v0_1);
            throw v1_1;
        }
    }

Method com.facebook.internal.FileLruCache.openPutStream() calling method java.io.FileOutputStream.<init>()


    public java.io.OutputStream openPutStream(String p18, String p19)
    {
        java.io.File v6 = com.facebook.internal.FileLruCache$BufferFile.newFile(this.directory);
        v6.delete();
        if (v6.createNewFile()) {
            try {
                java.io.BufferedOutputStream v8_1 = new java.io.BufferedOutputStream(new com.facebook.internal.FileLruCache$CloseCallbackOutputStream(new java.io.FileOutputStream(v6), new com.facebook.internal.FileLruCache$1(this, System.currentTimeMillis(), v6, p18)), 8192);
                try {
                    org.json.JSONObject v12_1 = new org.json.JSONObject();
                    v12_1.put("key", p18);
                } catch (org.json.JSONException v10_1) {
                    com.facebook.internal.Logger.log(com.facebook.LoggingBehavior.CACHE, 5, com.facebook.internal.FileLruCache.TAG, new StringBuilder().append("Error creating JSON header for cache file: ").append(v10_1).toString());
                    throw new java.io.IOException(v10_1.getMessage());
                } catch (java.io.IOException v3_13) {
                    if (0 == 0) {
                        v8_1.close();
                    }
                    throw v3_13;
                }
                if (!com.facebook.internal.Utility.isNullOrEmpty(p19)) {
                    v12_1.put("tag", p19);
                }
                com.facebook.internal.FileLruCache$StreamHeader.writeHeader(v8_1, v12_1);
                if (1 == 0) {
                    v8_1.close();
                }
                return v8_1;
            } catch (org.json.JSONException v10_0) {
                com.facebook.internal.Logger.log(com.facebook.LoggingBehavior.CACHE, 5, com.facebook.internal.FileLruCache.TAG, new StringBuilder().append("Error creating buffer output stream: ").append(v10_0).toString());
                throw new java.io.IOException(v10_0.getMessage());
            }
        } else {
            throw new java.io.IOException(new StringBuilder().append("Could not create file at ").append(v6.getAbsolutePath()).toString());
        }
    }

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.PrintHelper$PrintHelperApi19$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.PrintHelper$PrintHelperApi19.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.PrintHelper$PrintHelperApi19.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.v4.graphics.TypefaceCompatUtil.copyToFile() calling method java.io.FileOutputStream.<init>()


    public static boolean copyToFile(java.io.File p9, java.io.InputStream p10)
    {
        int v5_0 = 0;
        java.io.FileOutputStream v2 = 0;
        try {
            java.io.FileOutputStream v3_1 = new java.io.FileOutputStream(p9, 0);
            try {
                byte[] v0 = new byte[1024];
            } catch (int v5_1) {
                v2 = v3_1;
                android.support.v4.graphics.TypefaceCompatUtil.closeQuietly(v2);
                throw v5_1;
            } catch (java.io.IOException v1) {
                v2 = v3_1;
                android.util.Log.e("TypefaceCompatUtil", new StringBuilder().append("Error copying resource contents to temp file: ").append(v1.getMessage()).toString());
                android.support.v4.graphics.TypefaceCompatUtil.closeQuietly(v2);
                return v5_0;
            }
            while(true) {
                int v4 = p10.read(v0);
                if (v4 == -1) {
                    break;
                }
                v3_1.write(v0, 0, v4);
            }
            v5_0 = 1;
            android.support.v4.graphics.TypefaceCompatUtil.closeQuietly(v3_1);
            return v5_0;
        } catch (int v5_1) {
        } catch (java.io.IOException v1) {
        }
    }

Method android.support.v4.graphics.TypefaceCompatApi21Impl.createFromFontInfo() calling method java.io.FileInputStream.<init>()


    public android.graphics.Typeface createFromFontInfo(android.content.Context p12, android.os.CancellationSignal p13, android.support.v4.provider.FontsContractCompat$FontInfo[] p14, int p15)
    {
        Throwable v6_2;
        if (p14.length >= 1) {
            try {
                android.os.ParcelFileDescriptor v4 = p12.getContentResolver().openFileDescriptor(this.findBestInfo(p14, p15).getUri(), "r", p13);
                try {
                    java.io.File v2 = this.getFile(v4);
                } catch (Throwable v6_6) {
                    Throwable v7_4 = 0;
                    if (v4 != null) {
                        if (v7_4 == null) {
                            v4.close();
                        } else {
                            v4.close();
                        }
                    }
                    throw v6_6;
                } catch (Throwable v6_5) {
                    try {
                        throw v6_5;
                    } catch (Throwable v7_3) {
                        v7_4 = v6_5;
                        v6_6 = v7_3;
                    }
                }
                if ((v2 != null) && (v2.canRead())) {
                    v6_2 = android.graphics.Typeface.createFromFile(v2);
                    if (v4 != null) {
                        if (0 == 0) {
                            v4.close();
                        } else {
                            try {
                                v4.close();
                            } catch (Throwable v7_1) {
                                0.addSuppressed(v7_1);
                            }
                        }
                    }
                } else {
                    java.io.FileInputStream v3_1 = new java.io.FileInputStream(v4.getFileDescriptor());
                    Throwable v7_2 = 0;
                    try {
                        v6_2 = super.createFromInputStream(p12, v3_1);
                    } catch (Throwable v7_2) {
                        throw v7_2;
                    } catch (Throwable v6_4) {
                        if (v3_1 != null) {
                            if (v7_2 == null) {
                                v3_1.close();
                            } else {
                                v3_1.close();
                            }
                        }
                        throw v6_4;
                    }
                    if (v3_1 != null) {
                        if (0 == 0) {
                            v3_1.close();
                        } else {
                            try {
                                v3_1.close();
                            } catch (Throwable v9_1) {
                                0.addSuppressed(v9_1);
                            }
                        }
                    }
                    if (v4 != null) {
                        if (0 == 0) {
                            v4.close();
                        } else {
                            try {
                                v4.close();
                            } catch (Throwable v7_5) {
                                0.addSuppressed(v7_5);
                            }
                        }
                    }
                }
            } catch (java.io.IOException v1) {
                v6_2 = 0;
            }
        } else {
            v6_2 = 0;
        }
        return v6_2;
    }

Method org.apache.cordova.camera.CameraLauncher.writeUncompressedImage() calling method java.io.FileInputStream.<init>()


    private void writeUncompressedImage(android.net.Uri p3, android.net.Uri p4)
    {
        this.writeUncompressedImage(new java.io.FileInputStream(org.apache.cordova.camera.FileHelper.stripFileProtocol(p3.toString())), p4);
        return;
    }

Method org.apache.cordova.camera.FileHelper.getInputStreamFromUriString() calling method java.io.FileInputStream.<init>()


    public static java.io.InputStream getInputStreamFromUriString(String p7, org.apache.cordova.CordovaInterface p8)
    {
        java.io.FileInputStream v3_0;
        if (!p7.startsWith("content")) {
            if (!p7.startsWith("file://")) {
                v3_0 = new java.io.FileInputStream(p7);
            } else {
                int v1 = p7.indexOf("?");
                if (v1 > -1) {
                    p7 = p7.substring(0, v1);
                }
                if (!p7.startsWith("file:///android_asset/")) {
                    try {
                        v3_0 = p8.getActivity().getContentResolver().openInputStream(android.net.Uri.parse(p7));
                    } catch (Exception v0) {
                        v3_0 = 0;
                    }
                    if (v3_0 == null) {
                        v3_0 = new java.io.FileInputStream(org.apache.cordova.camera.FileHelper.getRealPath(p7, p8));
                    }
                } else {
                    v3_0 = p8.getActivity().getAssets().open(android.net.Uri.parse(p7).getPath().substring(15));
                }
            }
        } else {
            v3_0 = p8.getActivity().getContentResolver().openInputStream(android.net.Uri.parse(p7));
        }
        return v3_0;
    }

Method org.apache.cordova.CordovaResourceApi.openForRead() calling method java.io.FileInputStream.<init>()


    public org.apache.cordova.CordovaResourceApi$OpenForReadResult openForRead(android.net.Uri p23, boolean p24)
    {
        if (!p24) {
            this = this.assertBackgroundThread();
        }
        org.apache.cordova.CordovaResourceApi$OpenForReadResult v2_2;
        switch (org.apache.cordova.CordovaResourceApi.getUriType(p23)) {
            case 0:
                java.io.InputStream v4_2 = new java.io.FileInputStream(p23.getPath());
                v2_2 = new org.apache.cordova.CordovaResourceApi$OpenForReadResult(p23, v4_2, this.getMimeTypeFromPath(p23.getPath()), v4_2.getChannel().size(), 0);
                return v2_2;
            case 1:
                String v9 = p23.getPath().substring(15);
                int v6 = -1;
                try {
                    android.content.res.AssetFileDescriptor v8_2 = this.assetManager.openFd(v9);
                    java.io.InputStream v4_0 = v8_2.createInputStream();
                    int v6_3 = v8_2.getLength();
                } catch (java.io.FileNotFoundException v18) {
                    v4_0 = this.assetManager.open(v9);
                }
                v2_2 = new org.apache.cordova.CordovaResourceApi$OpenForReadResult(p23, v4_0, this.getMimeTypeFromPath(v9), v6_3, v8_2);
                return v2_2;
            case 2:
            case 3:
                String v5_3 = this.contentResolver.getType(p23);
                android.content.res.AssetFileDescriptor v8_1 = this.contentResolver.openAssetFileDescriptor(p23, "r");
                v2_2 = new org.apache.cordova.CordovaResourceApi$OpenForReadResult(p23, v8_1.createInputStream(), v5_3, v8_1.getLength(), v8_1);
                return v2_2;
            case 4:
                org.apache.cordova.CordovaResourceApi$OpenForReadResult v21 = this.readDataUri(p23);
                if (v21 == null) {
                } else {
                    v2_2 = v21;
                    return v2_2;
                }
            case 5:
            case 6:
                java.net.HttpURLConnection v17_1 = ((java.net.HttpURLConnection) new java.net.URL(p23.toString()).openConnection());
                v17_1.setDoInput(1);
                String v5_2 = v17_1.getHeaderField("Content-Type");
                if (v5_2 != null) {
                    v5_2 = v5_2.split(";")[0];
                }
                v2_2 = new org.apache.cordova.CordovaResourceApi$OpenForReadResult(p23, v17_1.getInputStream(), v5_2, ((long) v17_1.getContentLength()), 0);
                return v2_2;
            case 7:
                org.apache.cordova.CordovaPlugin v19 = this.pluginManager.getPlugin(p23.getHost());
                if (v19 != null) {
                    v2_2 = v19.handleOpenForRead(p23);
                    return v2_2;
                } else {
                    throw new java.io.FileNotFoundException(new StringBuilder().append("Invalid plugin ID in URI: ").append(p23).toString());
                }
        }
        throw new java.io.FileNotFoundException(new StringBuilder().append("URI not supported by CordovaResourceApi: ").append(p23).toString());
    }

Method com.google.firebase.iid.zzx.zza() calling method java.io.FileInputStream.<init>()


    private final com.google.firebase.iid.zzy zza(java.io.File p11)
    {
        Throwable v7 = 0;
        java.io.FileInputStream v8_1 = new java.io.FileInputStream(p11);
        try {
            Throwable v1_1 = v8_1.getChannel();
            try {
                v1_1.lock(0, nan, 1);
                Throwable v0_0 = com.google.firebase.iid.zzx.zza(v1_1);
            } catch (Throwable v0_2) {
                Throwable v2_1 = 0;
                if (v1_1 != null) {
                    com.google.firebase.iid.zzx.zza(v2_1, v1_1);
                }
                throw v0_2;
            } catch (Throwable v0_1) {
                try {
                    throw v0_1;
                } catch (Throwable v2_0) {
                    v2_1 = v0_1;
                    v0_2 = v2_0;
                }
            }
            if (v1_1 != null) {
                com.google.firebase.iid.zzx.zza(0, v1_1);
            }
            com.google.firebase.iid.zzx.zza(0, v8_1);
            return v0_0;
        } catch (Throwable v0_4) {
            com.google.firebase.iid.zzx.zza(v7, v8_1);
            throw v0_4;
        } catch (Throwable v0_3) {
            try {
                throw v0_3;
            } catch (Throwable v1_0) {
                v7 = v0_3;
                v0_4 = v1_0;
            }
        }
    }

Method com.google.android.gms.common.util.IOUtils$zzb.zzdd() calling method java.io.FileInputStream.<init>()


    public final byte[] zzdd()
    {
        try {
            int v1_1 = new java.io.FileInputStream(this.file);
            try {
                Throwable v0_0 = com.google.android.gms.common.util.IOUtils.zzb(v1_1, v1_1.getChannel().size());
                com.google.android.gms.common.util.IOUtils.closeQuietly(v1_1);
                return v0_0;
            } catch (Throwable v0_1) {
                com.google.android.gms.common.util.IOUtils.closeQuietly(v1_1);
                throw v0_1;
            }
        } catch (Throwable v0_1) {
            v1_1 = 0;
        }
        v0_0 = com.google.android.gms.common.util.IOUtils.zzb(v1_1, v1_1.getChannel().size());
        com.google.android.gms.common.util.IOUtils.closeQuietly(v1_1);
        return v0_0;
    }

Method com.github.kevinsawicki.http.HttpRequest.send() calling method java.io.FileInputStream.<init>()


    public com.github.kevinsawicki.http.HttpRequest send(java.io.File p5)
    {
        try {
            java.io.BufferedInputStream v1_1 = new java.io.BufferedInputStream(new java.io.FileInputStream(p5));
            this.incrementTotalSize(p5.length());
            return this.send(v1_1);
        } catch (java.io.FileNotFoundException v0) {
            throw new com.github.kevinsawicki.http.HttpRequest$HttpRequestException(v0);
        }
    }

Method com.github.kevinsawicki.http.HttpRequest.part() calling method java.io.FileInputStream.<init>()


    public com.github.kevinsawicki.http.HttpRequest part(String p5, String p6, String p7, java.io.File p8)
    {
        try {
            java.io.BufferedInputStream v1_1 = new java.io.BufferedInputStream(new java.io.FileInputStream(p8));
            this.incrementTotalSize(p8.length());
            return this.part(p5, p6, p7, v1_1);
        } catch (java.io.IOException v0) {
            throw new com.github.kevinsawicki.http.HttpRequest$HttpRequestException(v0);
        }
    }

Method com.facebook.internal.NativeAppCallAttachmentStore.processAttachmentFile() calling method java.io.FileInputStream.<init>()


    private static void processAttachmentFile(android.net.Uri p4, boolean p5, java.io.File p6)
    {
        java.io.InputStream v0;
        java.io.FileOutputStream v2_1 = new java.io.FileOutputStream(p6);
        try {
            if (p5) {
                v0 = com.facebook.FacebookSdk.getApplicationContext().getContentResolver().openInputStream(p4);
            } else {
                v0 = new java.io.FileInputStream(p4.getPath());
            }
        } catch (Throwable v3_1) {
            com.facebook.internal.Utility.closeQuietly(v2_1);
            throw v3_1;
        }
        com.facebook.internal.Utility.copyAndCloseInputStream(v0, v2_1);
        com.facebook.internal.Utility.closeQuietly(v2_1);
        return;
    }

Method com.facebook.internal.FileLruCache.get() calling method java.io.FileInputStream.<init>()


    public java.io.InputStream get(String p18, String p19)
    {
        java.io.File v6_1 = new java.io.File(this.directory, com.facebook.internal.Utility.md5hash(p18));
        try {
            com.facebook.LoggingBehavior v4_0 = new java.io.BufferedInputStream(new java.io.FileInputStream(v6_1), 8192);
            int v12 = 0;
            try {
                org.json.JSONObject v8 = com.facebook.internal.FileLruCache$StreamHeader.readHeader(v4_0);
            } catch (com.facebook.LoggingBehavior v13_9) {
                if (v12 == 0) {
                    v4_0.close();
                }
                throw v13_9;
            }
            if (v8 != null) {
                String v7 = v8.optString("key");
                if ((v7 != null) && (v7.equals(p18))) {
                    String v9 = v8.optString("tag", 0);
                    if (((p19 != null) || (v9 == null)) && ((p19 == null) || (p19.equals(v9)))) {
                        long v2 = new java.util.Date().getTime();
                        com.facebook.internal.Logger.log(com.facebook.LoggingBehavior.CACHE, com.facebook.internal.FileLruCache.TAG, new StringBuilder().append("Setting lastModified to ").append(Long.valueOf(v2)).append(" for ").append(v6_1.getName()).toString());
                        v6_1.setLastModified(v2);
                        v12 = 1;
                        if (1 != 0) {
                            return v4_0;
                        } else {
                            v4_0.close();
                            return v4_0;
                        }
                    } else {
                        if (0 == 0) {
                            v4_0.close();
                        }
                        v4_0 = 0;
                        return v4_0;
                    }
                } else {
                    if (0 == 0) {
                        v4_0.close();
                    }
                    v4_0 = 0;
                    return v4_0;
                }
            } else {
                if (0 == 0) {
                    v4_0.close();
                }
                v4_0 = 0;
                return v4_0;
            }
        } catch (java.io.IOException v5) {
            v4_0 = 0;
            return v4_0;
        }
    }

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 android.support.v4.graphics.TypefaceCompatUtil.mmap() calling method java.io.FileInputStream.<init>()


    private static java.nio.ByteBuffer mmap(java.io.File p11)
    {
        java.io.FileInputStream v7_1 = new java.io.FileInputStream(p11);
        try {
            java.nio.channels.FileChannel v0 = v7_1.getChannel();
            Throwable v1_0 = v0.map(java.nio.channels.FileChannel$MapMode.READ_ONLY, 0, v0.size());
        } catch (Throwable v1_2) {
            Throwable v2_1 = 0;
            if (v7_1 != null) {
                if (v2_1 == null) {
                    v7_1.close();
                } else {
                    v7_1.close();
                }
            }
            throw v1_2;
        } catch (Throwable v1_1) {
            try {
                throw v1_1;
            } catch (Throwable v2_0) {
                v2_1 = v1_1;
                v1_2 = v2_0;
            }
        }
        if (v7_1 == null) {
            return v1_0;
        } else {
            if (0 == 0) {
                v7_1.close();
                return v1_0;
            } else {
                try {
                    v7_1.close();
                } catch (Throwable v2_2) {
                    0.addSuppressed(v2_2);
                }
                return v1_0;
            }
        }
    }

Method android.support.v4.graphics.TypefaceCompatUtil.mmap() calling method java.io.FileInputStream.<init>()


    public static java.nio.ByteBuffer mmap(android.content.Context p13, android.os.CancellationSignal p14, android.net.Uri p15)
    {
        Throwable v1_1;
        android.os.ParcelFileDescriptor v8 = p13.getContentResolver().openFileDescriptor(p15, "r", p14);
        if (v8 != null) {
            try {
                java.io.FileInputStream v7_0 = new java.io.FileInputStream(v8.getFileDescriptor());
                try {
                    java.nio.channels.FileChannel v0 = v7_0.getChannel();
                    v1_1 = v0.map(java.nio.channels.FileChannel$MapMode.READ_ONLY, 0, v0.size());
                } catch (Throwable v1_4) {
                    Throwable v2_2 = 0;
                    if (v7_0 != null) {
                        if (v2_2 == null) {
                            v7_0.close();
                        } else {
                            v7_0.close();
                        }
                    }
                    throw v1_4;
                } catch (Throwable v1_3) {
                    try {
                        throw v1_3;
                    } catch (Throwable v2_1) {
                        v2_2 = v1_3;
                        v1_4 = v2_1;
                    }
                }
                if (v7_0 != null) {
                    if (0 == 0) {
                        v7_0.close();
                    } else {
                        try {
                            v7_0.close();
                        } catch (Throwable v2_3) {
                            0.addSuppressed(v2_3);
                        }
                    }
                }
                if (v8 == null) {
                    return v1_1;
                } else {
                    if (0 == 0) {
                        v8.close();
                        return v1_1;
                    } else {
                        try {
                            v8.close();
                        } catch (Throwable v2_6) {
                            0.addSuppressed(v2_6);
                        }
                        return v1_1;
                    }
                }
            } catch (Throwable v1_6) {
                Throwable v2_5 = 0;
                if (v8 != null) {
                    if (v2_5 == null) {
                        v8.close();
                    } else {
                        try {
                            v8.close();
                        } catch (Throwable v3_1) {
                            v2_5.addSuppressed(v3_1);
                        }
                    }
                }
                throw v1_6;
            } catch (Throwable v1_5) {
                try {
                    throw v1_5;
                } catch (Throwable v2_4) {
                    v2_5 = v1_5;
                    v1_6 = v2_4;
                }
            }
        } else {
            v1_1 = 0;
            if (v8 == null) {
                return v1_1;
            } else {
                if (0 == 0) {
                    v8.close();
                    return v1_1;
                } else {
                    try {
                        v8.close();
                    } catch (Throwable v2_7) {
                        0.addSuppressed(v2_7);
                    }
                    return v1_1;
                }
            }
        }
    }

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


    private static java.io.BufferedReader zzm(String p3)
    {
        android.os.StrictMode$ThreadPolicy v1 = android.os.StrictMode.allowThreadDiskReads();
        try {
            Throwable v0_1 = new java.io.BufferedReader(new java.io.FileReader(p3));
            android.os.StrictMode.setThreadPolicy(v1);
            return v0_1;
        } catch (Throwable v0_2) {
            android.os.StrictMode.setThreadPolicy(v1);
            throw v0_2;
        }
    }

Method android.support.v4.graphics.TypefaceCompatApi21Impl.getFile() calling method java.io.File.<init>()


    private java.io.File getFile(android.os.ParcelFileDescriptor p6)
    {
        try {
            int v2_6;
            String v1 = android.system.Os.readlink(new StringBuilder().append("/proc/self/fd/").append(p6.getFd()).toString());
        } catch (android.system.ErrnoException v0) {
            v2_6 = 0;
            return v2_6;
        }
        if (!android.system.OsConstants.S_ISREG(android.system.Os.stat(v1).st_mode)) {
            v2_6 = 0;
            return v2_6;
        } else {
            v2_6 = new java.io.File(v1);
            return v2_6;
        }
    }

Method org.apache.cordova.file.LocalFilesystem.writeToFileAtURL() calling method java.io.File.<init>()


    public long writeToFileAtURL(org.apache.cordova.file.LocalFilesystemURL p12, String p13, int p14, boolean p15)
    {
        int v1 = 0;
        if (p14 > 0) {
            this.truncateFileAtURL(p12, ((long) p14));
            v1 = 1;
        }
        byte[] v6;
        if (!p15) {
            v6 = p13.getBytes(java.nio.charset.Charset.defaultCharset());
        } else {
            v6 = android.util.Base64.decode(p13, 0);
        }
        java.io.ByteArrayInputStream v4_1 = new java.io.ByteArrayInputStream(v6);
        try {
            byte[] v2 = new byte[v6.length];
            String v0 = this.filesystemPathForURL(p12);
            java.io.FileOutputStream v5_1 = new java.io.FileOutputStream(v0, v1);
            try {
                v4_1.read(v2, 0, v2.length);
                v5_1.write(v2, 0, v6.length);
                v5_1.flush();
            } catch (long v8_3) {
                v5_1.close();
                throw v8_3;
            }
            v5_1.close();
            if (this.isPublicDirectory(v0)) {
                this.broadcastNewFile(android.net.Uri.fromFile(new java.io.File(v0)));
            }
            return ((long) v6.length);
        } catch (NullPointerException v3) {
            org.apache.cordova.file.NoModificationAllowedException v7_1 = new org.apache.cordova.file.NoModificationAllowedException(p12.toString());
            v7_1.initCause(v3);
            throw v7_1;
        }
    }

Method org.apache.cordova.file.LocalFilesystem.truncateFileAtURL() calling method java.io.File.<init>()


    public long truncateFileAtURL(org.apache.cordova.file.LocalFilesystemURL p7, long p8)
    {
        if (new java.io.File(this.filesystemPathForURL(p7)).exists()) {
            java.io.RandomAccessFile v2_0 = new java.io.RandomAccessFile(this.filesystemPathForURL(p7), "rw");
            try {
                if (v2_0.length() < p8) {
                    p8 = v2_0.length();
                    v2_0.close();
                } else {
                    v2_0.getChannel().truncate(p8);
                    v2_0.close();
                }
            } catch (Throwable v3_1) {
                v2_0.close();
                throw v3_1;
            }
            return p8;
        } else {
            throw new java.io.FileNotFoundException(new StringBuilder().append("File at ").append(p7.uri).append(" does not exist.").toString());
        }
    }

Method org.apache.cordova.file.LocalFilesystem.toLocalUri() calling method java.io.File.<init>()


    public org.apache.cordova.file.LocalFilesystemURL toLocalUri(android.net.Uri p9)
    {
        org.apache.cordova.file.LocalFilesystemURL v5_0 = 0;
        if ("file".equals(p9.getScheme())) {
            java.io.File v1_0 = new java.io.File(p9.getPath());
            android.net.Uri v2 = android.net.Uri.fromFile(v1_0);
            String v3_0 = this.rootUri.getEncodedPath();
            String v3_1 = v3_0.substring(0, (v3_0.length() - 1));
            if (v2.getEncodedPath().startsWith(v3_1)) {
                String v4 = v2.getEncodedPath().substring(v3_1.length());
                if (!v4.isEmpty()) {
                    v4 = v4.substring(1);
                }
                android.net.Uri$Builder v0 = new android.net.Uri$Builder().scheme("cdvfile").authority("localhost").path(this.name);
                if (!v4.isEmpty()) {
                    v0.appendEncodedPath(v4);
                }
                if (v1_0.isDirectory()) {
                    v0.appendEncodedPath("");
                }
                v5_0 = org.apache.cordova.file.LocalFilesystemURL.parse(v0.build());
            }
        }
        return v5_0;
    }

Method org.apache.cordova.file.LocalFilesystem.removeFileAtLocalURL() calling method java.io.File.<init>()


    public boolean removeFileAtLocalURL(org.apache.cordova.file.LocalFilesystemURL p4)
    {
        java.io.File v0_1 = new java.io.File(this.filesystemPathForURL(p4));
        if ((!v0_1.isDirectory()) || (v0_1.list().length <= 0)) {
            return v0_1.delete();
        } else {
            throw new org.apache.cordova.file.InvalidModificationException("You can\'t delete a directory that is not empty.");
        }
    }

Method org.apache.cordova.file.LocalFilesystem.recursiveRemoveFileAtLocalURL() calling method java.io.File.<init>()


    public boolean recursiveRemoveFileAtLocalURL(org.apache.cordova.file.LocalFilesystemURL p3)
    {
        return this.removeDirRecursively(new java.io.File(this.filesystemPathForURL(p3)));
    }

Method org.apache.cordova.file.LocalFilesystem.listChildren() calling method java.io.File.<init>()


    public org.apache.cordova.file.LocalFilesystemURL[] listChildren(org.apache.cordova.file.LocalFilesystemURL p6)
    {
        java.io.File v2_1 = new java.io.File(this.filesystemPathForURL(p6));
        if (v2_1.exists()) {
            org.apache.cordova.file.LocalFilesystemURL[] v0;
            java.io.File[] v1 = v2_1.listFiles();
            if (v1 != null) {
                v0 = new org.apache.cordova.file.LocalFilesystemURL[v1.length];
                int v3 = 0;
                while (v3 < v1.length) {
                    v0[v3] = this.URLforFilesystemPath(v1[v3].getPath());
                    v3++;
                }
            } else {
                v0 = 0;
            }
            return v0;
        } else {
            throw new java.io.FileNotFoundException();
        }
    }

Method org.apache.cordova.file.LocalFilesystem.getFileMetadataForLocalURL() calling method java.io.File.<init>()


    public org.json.JSONObject getFileMetadataForLocalURL(org.apache.cordova.file.LocalFilesystemURL p7)
    {
        java.io.File v1_1 = new java.io.File(this.filesystemPathForURL(p7));
        if (v1_1.exists()) {
            int v2_0 = new org.json.JSONObject();
            try {
                long v4_1;
                if (!v1_1.isDirectory()) {
                    v4_1 = v1_1.length();
                    v2_0.put("size", v4_1);
                    v2_0.put("type", this.resourceApi.getMimeType(android.net.Uri.fromFile(v1_1)));
                    v2_0.put("name", v1_1.getName());
                    v2_0.put("fullPath", p7.path);
                    v2_0.put("lastModifiedDate", v1_1.lastModified());
                } else {
                    v4_1 = 0;
                }
            } catch (org.json.JSONException v0) {
                v2_0 = 0;
            }
            return v2_0;
        } else {
            throw new java.io.FileNotFoundException(new StringBuilder().append("File at ").append(p7.uri).append(" does not exist.").toString());
        }
    }

Method org.apache.cordova.file.LocalFilesystem.getFileForLocalURL() calling method java.io.File.<init>()


    public org.json.JSONObject getFileForLocalURL(org.apache.cordova.file.LocalFilesystemURL p7, String p8, org.json.JSONObject p9, boolean p10)
    {
        boolean v0 = 0;
        boolean v1 = 0;
        if (p9 != null) {
            v0 = p9.optBoolean("create");
            if (v0) {
                v1 = p9.optBoolean("exclusive");
            }
        }
        if (!p8.contains(":")) {
            if ((p10) && (!p8.endsWith("/"))) {
                p8 = new StringBuilder().append(p8).append("/").toString();
            }
            org.apache.cordova.file.LocalFilesystemURL v3;
            if (!p8.startsWith("/")) {
                v3 = this.localUrlforFullPath(org.apache.cordova.file.LocalFilesystem.normalizePath(new StringBuilder().append(p7.path).append("/").append(p8).toString()));
            } else {
                v3 = this.localUrlforFullPath(org.apache.cordova.file.LocalFilesystem.normalizePath(p8));
            }
            java.io.File v2_1 = new java.io.File(this.filesystemPathForURL(v3));
            if (!v0) {
                if (v2_1.exists()) {
                    if (!p10) {
                        if (v2_1.isDirectory()) {
                            throw new org.apache.cordova.file.TypeMismatchException("path doesn\'t exist or is directory");
                        }
                    } else {
                        if (v2_1.isFile()) {
                            throw new org.apache.cordova.file.TypeMismatchException("path doesn\'t exist or is file");
                        }
                    }
                } else {
                    throw new java.io.FileNotFoundException("path does not exist");
                }
            } else {
                if ((!v1) || (!v2_1.exists())) {
                    if (!p10) {
                        v2_1.createNewFile();
                    } else {
                        v2_1.mkdir();
                    }
                    if (!v2_1.exists()) {
                        throw new org.apache.cordova.file.FileExistsException("create fails");
                    }
                } else {
                    throw new org.apache.cordova.file.FileExistsException("create/exclusive fails");
                }
            }
            return this.makeEntryForURL(v3);
        } else {
            throw new org.apache.cordova.file.EncodingException("This path has an invalid \":\" in it.");
        }
    }

Method org.apache.cordova.file.LocalFilesystem.filesystemPathForFullPath() calling method java.io.File.<init>()


    public String filesystemPathForFullPath(String p3)
    {
        return new java.io.File(this.rootUri.getPath(), p3).toString();
    }

Method org.apache.cordova.file.LocalFilesystem.exists() calling method java.io.File.<init>()


    public boolean exists(org.apache.cordova.file.LocalFilesystemURL p3)
    {
        return new java.io.File(this.filesystemPathForURL(p3)).exists();
    }

Method org.apache.cordova.file.LocalFilesystem.copyFileToURL() calling method java.io.File.<init>()


    public org.json.JSONObject copyFileToURL(org.apache.cordova.file.LocalFilesystemURL p10, String p11, org.apache.cordova.file.Filesystem p12, org.apache.cordova.file.LocalFilesystemURL p13, boolean p14)
    {
        if (new java.io.File(this.filesystemPathForURL(p10)).exists()) {
            org.apache.cordova.file.LocalFilesystemURL v2 = this.makeDestinationURL(p11, p13, p10, p13.isDirectory);
            android.net.Uri v3 = this.toNativeUri(v2);
            android.net.Uri v5 = p12.toNativeUri(p13);
            if (!v3.equals(v5)) {
                if ((!p14) || (p12.canRemoveFileAtLocalURL(p13))) {
                    java.io.File v0_1 = new java.io.File(v3.getPath());
                    if (v0_1.exists()) {
                        if ((p13.isDirectory) || (!v0_1.isDirectory())) {
                            if ((p13.isDirectory) && (v0_1.isFile())) {
                                throw new org.apache.cordova.file.InvalidModificationException("Can\'t copy/move a directory to an existing file");
                            }
                        } else {
                            throw new org.apache.cordova.file.InvalidModificationException("Can\'t copy/move a file to an existing directory");
                        }
                    }
                    if (!p13.isDirectory) {
                        this.copyFile(p12, p13, v0_1, p14);
                    } else {
                        if (!v3.toString().startsWith(new StringBuilder().append(v5.toString()).append(47).toString())) {
                            this.copyDirectory(p12, p13, v0_1, p14);
                        } else {
                            throw new org.apache.cordova.file.InvalidModificationException("Can\'t copy directory into itself");
                        }
                    }
                    return this.makeEntryForURL(v2);
                } else {
                    throw new org.apache.cordova.file.InvalidModificationException("Source URL is read-only (cannot move)");
                }
            } else {
                throw new org.apache.cordova.file.InvalidModificationException("Can\'t copy onto itself");
            }
        } else {
            throw new java.io.FileNotFoundException("The source does not exist");
        }
    }

Method org.apache.cordova.file.LocalFilesystem.canRemoveFileAtLocalURL() calling method java.io.File.<init>()


    public boolean canRemoveFileAtLocalURL(org.apache.cordova.file.LocalFilesystemURL p4)
    {
        return new java.io.File(this.filesystemPathForURL(p4)).exists();
    }

Method org.apache.cordova.file.LocalFilesystem.copyFile() calling method java.io.File.<init>()


    private void copyFile(org.apache.cordova.file.Filesystem p6, org.apache.cordova.file.LocalFilesystemURL p7, java.io.File p8, boolean p9)
    {
        if (!p9) {
            org.apache.cordova.file.LocalFilesystem.copyResource(this.resourceApi.openForRead(p6.toNativeUri(p7)), new java.io.FileOutputStream(p8));
            if (p9) {
                p6.removeFileAtLocalURL(p7);
            }
        } else {
            String v1 = p6.filesystemPathForURL(p7);
            if ((v1 == null) || (!new java.io.File(v1).renameTo(p8))) {
            }
        }
        return;
    }

Method org.apache.cordova.file.LocalFilesystem.copyDirectory() calling method java.io.File.<init>()


    private void copyDirectory(org.apache.cordova.file.Filesystem p11, org.apache.cordova.file.LocalFilesystemURL p12, java.io.File p13, boolean p14)
    {
        if (!p14) {
            if (!p13.exists()) {
                if (!p13.mkdir()) {
                    throw new org.apache.cordova.file.NoModificationAllowedException("Couldn\'t create the destination directory");
                }
            } else {
                if (p13.list().length > 0) {
                    throw new org.apache.cordova.file.InvalidModificationException("directory is not empty");
                }
            }
            org.apache.cordova.file.LocalFilesystemURL[] v1 = p11.listChildren(p12);
            int v7 = v1.length;
            int v5_9 = 0;
            while (v5_9 < v7) {
                org.apache.cordova.file.LocalFilesystemURL v0 = v1[v5_9];
                java.io.File v4_1 = new java.io.File(p13, new java.io.File(v0.path).getName());
                if (!v0.isDirectory) {
                    this.copyFile(p11, v0, v4_1, 0);
                } else {
                    this.copyDirectory(p11, v0, v4_1, 0);
                }
                v5_9++;
            }
            if (p14) {
                p11.recursiveRemoveFileAtLocalURL(p12);
            }
        } else {
            String v2 = p11.filesystemPathForURL(p12);
            if (v2 == null) {
            } else {
                java.io.File v3_1 = new java.io.File(v2);
                if (p13.exists()) {
                    if (p13.list().length <= 0) {
                        p13.delete();
                    } else {
                        throw new org.apache.cordova.file.InvalidModificationException("directory is not empty");
                    }
                }
                if (!v3_1.renameTo(p13)) {
                }
            }
        }
        return;
    }

Method org.apache.cordova.file.FileUtils.registerExtraFileSystems() calling method java.io.File.<init>()


    protected void registerExtraFileSystems(String[] p10, java.util.HashMap p11)
    {
        java.util.HashSet v2_1 = new java.util.HashSet();
        int v5 = p10.length;
        int v4 = 0;
        while (v4 < v5) {
            String v0 = p10[v4];
            if (!v2_1.contains(v0)) {
                String v1_1 = ((String) p11.get(v0));
                if (v1_1 == null) {
                    org.apache.cordova.LOG.d("FileUtils", new StringBuilder().append("Unrecognized extra filesystem identifier: ").append(v0).toString());
                } else {
                    java.io.File v3_1 = new java.io.File(v1_1);
                    if ((!v3_1.mkdirs()) && (!v3_1.isDirectory())) {
                        org.apache.cordova.LOG.d("FileUtils", new StringBuilder().append("Unable to create root dir for filesystem \"").append(v0).append("\", skipping").toString());
                    } else {
                        this.registerFilesystem(new org.apache.cordova.file.LocalFilesystem(v0, this.webView.getContext(), this.webView.getResourceApi(), v3_1));
                        v2_1.add(v0);
                    }
                }
            }
            v4++;
        }
        return;
    }

Method org.apache.cordova.file.FileUtils.initialize() calling method java.io.File.<init>()


    public void initialize(org.apache.cordova.CordovaInterface p12, org.apache.cordova.CordovaWebView p13)
    {
        super.initialize(p12, p13);
        this.filesystems = new java.util.ArrayList();
        this.pendingRequests = new org.apache.cordova.file.PendingRequests();
        String v3 = 0;
        android.app.Activity v0 = p12.getActivity();
        String v2 = v0.getPackageName();
        String v1 = this.preferences.getString("androidpersistentfilelocation", "internal");
        String v5 = v0.getCacheDir().getAbsolutePath();
        if (!"internal".equalsIgnoreCase(v1)) {
            if ("compatibility".equalsIgnoreCase(v1)) {
                if (!android.os.Environment.getExternalStorageState().equals("mounted")) {
                    v3 = new StringBuilder().append("/data/data/").append(v2).toString();
                } else {
                    v3 = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();
                    v5 = new StringBuilder().append(android.os.Environment.getExternalStorageDirectory().getAbsolutePath()).append("/Android/data/").append(v2).append("/cache/").toString();
                }
                this.configured = 1;
            }
        } else {
            v3 = new StringBuilder().append(v0.getFilesDir().getAbsolutePath()).append("/files/").toString();
            this.configured = 1;
        }
        if (!this.configured) {
            org.apache.cordova.LOG.e("FileUtils", "File plugin configuration error: Please set AndroidPersistentFileLocation in config.xml to one of \"internal\" (for new applications) or \"compatibility\" (for compatibility with previous versions)");
            v0.finish();
        } else {
            java.io.File v6_1 = new java.io.File(v5);
            java.io.File v4_1 = new java.io.File(v3);
            v6_1.mkdirs();
            v4_1.mkdirs();
            this.registerFilesystem(new org.apache.cordova.file.LocalFilesystem("temporary", p13.getContext(), p13.getResourceApi(), v6_1));
            this.registerFilesystem(new org.apache.cordova.file.LocalFilesystem("persistent", p13.getContext(), p13.getResourceApi(), v4_1));
            this.registerFilesystem(new org.apache.cordova.file.ContentFilesystem(p13.getContext(), p13.getResourceApi()));
            this.registerFilesystem(new org.apache.cordova.file.AssetFilesystem(p13.getContext().getAssets(), p13.getResourceApi()));
            this.registerExtraFileSystems(this.getExtraFileSystemsPreference(v0), this.getAvailableFileSystems(v0));
            if (org.apache.cordova.file.FileUtils.filePlugin == null) {
                org.apache.cordova.file.FileUtils.filePlugin = this;
            }
        }
        return;
    }

Method org.apache.cordova.file.FileUtils.getAvailableFileSystems() calling method java.io.File.<init>()


    protected java.util.HashMap getAvailableFileSystems(android.app.Activity p8)
    {
        android.content.Context v1 = p8.getApplicationContext();
        java.util.HashMap v0_1 = new java.util.HashMap();
        v0_1.put("files", v1.getFilesDir().getAbsolutePath());
        v0_1.put("documents", new java.io.File(v1.getFilesDir(), "Documents").getAbsolutePath());
        v0_1.put("cache", v1.getCacheDir().getAbsolutePath());
        v0_1.put("root", "/");
        if (android.os.Environment.getExternalStorageState().equals("mounted")) {
            try {
                v0_1.put("files-external", v1.getExternalFilesDir(0).getAbsolutePath());
                v0_1.put("sdcard", android.os.Environment.getExternalStorageDirectory().getAbsolutePath());
                v0_1.put("cache-external", v1.getExternalCacheDir().getAbsolutePath());
            } catch (NullPointerException v2) {
                org.apache.cordova.LOG.d("FileUtils", "External storage unavailable, check to see if USB Mass Storage Mode is on");
            }
        }
        return v0_1;
    }

Method org.apache.cordova.file.AssetFilesystem.toLocalUri() calling method java.io.File.<init>()


    public org.apache.cordova.file.LocalFilesystemURL toLocalUri(android.net.Uri p9)
    {
        org.apache.cordova.file.LocalFilesystemURL v5_0 = 0;
        if ("file".equals(p9.getScheme())) {
            android.net.Uri v2 = android.net.Uri.fromFile(new java.io.File(p9.getPath()));
            String v3_0 = this.rootUri.getEncodedPath();
            String v3_1 = v3_0.substring(0, (v3_0.length() - 1));
            if (v2.getEncodedPath().startsWith(v3_1)) {
                String v4 = v2.getEncodedPath().substring(v3_1.length());
                if (!v4.isEmpty()) {
                    v4 = v4.substring(1);
                }
                android.net.Uri$Builder v0 = new android.net.Uri$Builder().scheme("cdvfile").authority("localhost").path(this.name);
                if (!v4.isEmpty()) {
                    v0.appendEncodedPath(v4);
                }
                if ((this.isDirectory(v4)) || (p9.getPath().endsWith("/"))) {
                    v0.appendEncodedPath("");
                }
                v5_0 = org.apache.cordova.file.LocalFilesystemURL.parse(v0.build());
            }
        }
        return v5_0;
    }

Method org.apache.cordova.file.AssetFilesystem.listChildren() calling method java.io.File.<init>()


    public org.apache.cordova.file.LocalFilesystemURL[] listChildren(org.apache.cordova.file.LocalFilesystemURL p10)
    {
        String v5 = p10.path.substring(1);
        if (v5.endsWith("/")) {
            v5 = v5.substring(0, (v5.length() - 1));
        }
        try {
            String[] v2 = this.listAssets(v5);
            org.apache.cordova.file.LocalFilesystemURL[] v1 = new org.apache.cordova.file.LocalFilesystemURL[v2.length];
            int v4 = 0;
        } catch (java.io.IOException v0) {
            java.io.FileNotFoundException v3_1 = new java.io.FileNotFoundException();
            v3_1.initCause(v0);
            throw v3_1;
        }
        while (v4 < v2.length) {
            v1[v4] = this.localUrlforFullPath(new java.io.File(p10.path, v2[v4]).getPath());
            v4++;
        }
        return v1;
    }

Method org.apache.cordova.file.AssetFilesystem.getFileMetadataForLocalURL() calling method java.io.File.<init>()


    public org.json.JSONObject getFileMetadataForLocalURL(org.apache.cordova.file.LocalFilesystemURL p8)
    {
        long v2;
        int v1_1 = new org.json.JSONObject();
        if (!p8.isDirectory) {
            v2 = this.getAssetSize(p8.path);
        } else {
            v2 = 0;
        }
        try {
            String v4_2;
            v1_1.put("size", v2);
        } catch (org.json.JSONException v0) {
            v1_1 = 0;
            return v1_1;
        }
        if (!p8.isDirectory) {
            v4_2 = this.resourceApi.getMimeType(this.toNativeUri(p8));
        } else {
            v4_2 = "text/directory";
        }
        v1_1.put("type", v4_2);
        v1_1.put("name", new java.io.File(p8.path).getName());
        v1_1.put("fullPath", p8.path);
        v1_1.put("lastModifiedDate", 0);
        return v1_1;
    }

Method org.apache.cordova.file.AssetFilesystem.filesystemPathForURL() calling method java.io.File.<init>()


    String filesystemPathForURL(org.apache.cordova.file.LocalFilesystemURL p4)
    {
        return new java.io.File(this.rootUri.getPath(), p4.path).toString();
    }

Method org.apache.cordova.camera.CameraLauncher.processResultFromCamera() calling method java.io.File.<init>()


    private void processResultFromCamera(int p19, android.content.Intent p20)
    {
        String v12;
        int v11 = 0;
        org.apache.cordova.camera.ExifHelper v6_1 = new org.apache.cordova.camera.ExifHelper();
        if ((!this.allowEdit) || (this.croppedUri == null)) {
            v12 = this.imageUri.getFilePath();
        } else {
            v12 = org.apache.cordova.camera.FileHelper.stripFileProtocol(this.croppedUri.toString());
        }
        if (this.encodingType == 0) {
            try {
                v6_1.createInFile(v12);
                v6_1.readExifData();
                v11 = v6_1.getOrientation();
            } catch (java.io.IOException v5) {
                v5.printStackTrace();
            }
        }
        int v2_0 = 0;
        android.net.Uri v8 = 0;
        if (this.saveToPhotoAlbum) {
            v8 = android.net.Uri.fromFile(new java.io.File(this.getPicturesPath()));
            if ((!this.allowEdit) || (this.croppedUri == null)) {
                this.writeUncompressedImage(this.imageUri.getFileUri(), v8);
            } else {
                this.writeUncompressedImage(this.croppedUri, v8);
            }
            this.refreshGallery(v8);
        }
        if (p19 != 0) {
            if ((p19 != 1) && (p19 != 2)) {
                throw new IllegalStateException();
            } else {
                if ((this.targetHeight != -1) || ((this.targetWidth != -1) || ((this.mQuality != 100) || (this.correctOrientation)))) {
                    android.net.Uri v13_1 = android.net.Uri.fromFile(this.createCaptureFile(this.encodingType, new StringBuilder().append(System.currentTimeMillis()).append("").toString()));
                    v2_0 = this.getScaledAndRotatedBitmap(v12);
                    if (v2_0 != 0) {
                        android.graphics.Bitmap$CompressFormat v3;
                        java.io.OutputStream v10 = this.cordova.getActivity().getContentResolver().openOutputStream(v13_1);
                        if (this.encodingType != 0) {
                            v3 = android.graphics.Bitmap$CompressFormat.PNG;
                        } else {
                            v3 = android.graphics.Bitmap$CompressFormat.JPEG;
                        }
                        v2_0.compress(v3, this.mQuality, v10);
                        v10.close();
                        if (this.encodingType == 0) {
                            String v7 = v13_1.getPath();
                            if (v11 != 1) {
                                v6_1.resetOrientation();
                            }
                            v6_1.createOutFile(v7);
                            v6_1.writeExifData();
                        }
                        this.callbackContext.success(v13_1.toString());
                        this.cleanup(1, this.imageUri.getFileUri(), v8, v2_0);
                    } else {
                        org.apache.cordova.LOG.d("CameraLauncher", "I either have a null image path or bitmap");
                        this.failPicture("Unable to create bitmap!");
                    }
                } else {
                    if (!this.saveToPhotoAlbum) {
                        android.net.Uri v13_0 = android.net.Uri.fromFile(this.createCaptureFile(this.encodingType, new StringBuilder().append(System.currentTimeMillis()).append("").toString()));
                        if ((!this.allowEdit) || (this.croppedUri == null)) {
                            this.writeUncompressedImage(this.imageUri.getFileUri(), v13_0);
                        } else {
                            this.writeUncompressedImage(android.net.Uri.fromFile(new java.io.File(this.getFileNameFromUri(this.croppedUri))), v13_0);
                        }
                        this.callbackContext.success(v13_0.toString());
                    } else {
                        this.callbackContext.success(v8.toString());
                    }
                }
            }
        } else {
            v2_0 = this.getScaledAndRotatedBitmap(v12);
            if (v2_0 == 0) {
                v2_0 = ((android.graphics.Bitmap) p20.getExtras().get("data"));
            }
            if (v2_0 != 0) {
                this.processPicture(v2_0, this.encodingType);
                if (this.saveToPhotoAlbum) {
                } else {
                    this.checkForDuplicateImage(0);
                }
            } else {
                org.apache.cordova.LOG.d("CameraLauncher", "I either have a null image path or bitmap");
                this.failPicture("Unable to create bitmap!");
            }
        }
        return;
    }

Method org.apache.cordova.camera.CameraLauncher.getScaledAndRotatedBitmap() calling method java.io.File.<init>()


    private android.graphics.Bitmap getScaledAndRotatedBitmap(String p33)
    {
        if ((this.targetWidth > 0) || ((this.targetHeight > 0) || (this.correctOrientation))) {
            java.io.File v17 = 0;
            android.net.Uri v15 = 0;
            int v23 = 0;
            try {
                java.io.InputStream v14_1 = org.apache.cordova.camera.FileHelper.getInputStreamFromUriString(p33, this.cordova);
            } catch (java.io.IOException v10) {
                org.apache.cordova.LOG.e("CameraLauncher", new StringBuilder().append("Exception while getting input stream: ").append(v10.toString()).toString());
                android.graphics.Bitmap v16 = 0;
            }
            if (v14_1 != null) {
                int v4_46;
                StringBuilder vtmp4 = new StringBuilder().append("IMG_").append(new java.text.SimpleDateFormat("yyyyMMdd_HHmmss").format(new java.util.Date()));
                if (this.encodingType != 0) {
                    v4_46 = ".png";
                } else {
                    v4_46 = ".jpg";
                }
                java.io.File v18 = new java.io.File;
                v18(new StringBuilder().append(this.getTempDirectoryPath()).append(vtmp4.append(v4_46).toString()).toString());
                try {
                    v15 = android.net.Uri.fromFile(v18);
                    this.writeUncompressedImage(v14_1, v15);
                    try {
                        if ("image/jpeg".equalsIgnoreCase(org.apache.cordova.camera.FileHelper.getMimeType(p33.toString(), this.cordova))) {
                            String v13 = v15.toString().replace("file://", "");
                            this.exifData = new org.apache.cordova.camera.ExifHelper();
                            this.exifData.createInFile(v13);
                            if (this.correctOrientation) {
                                v23 = this.exifToDegrees(new android.media.ExifInterface(v13).getAttributeInt("Orientation", 0));
                            }
                        }
                    } catch (Exception v20) {
                        org.apache.cordova.LOG.w("CameraLauncher", new StringBuilder().append("Unable to read Exif data: ").append(v20.toString()).toString());
                        v23 = 0;
                        v17 = v18;
                    }
                    v17 = v18;
                } catch (java.io.IOException v10) {
                }
            }
            try {
                android.graphics.BitmapFactory$Options v22_1 = new android.graphics.BitmapFactory$Options();
                v22_1.inJustDecodeBounds = 1;
                try {
                    java.io.InputStream v14_0 = org.apache.cordova.camera.FileHelper.getInputStreamFromUriString(v15.toString(), this.cordova);
                    android.graphics.BitmapFactory.decodeStream(v14_0, 0, v22_1);
                } catch (int v4_8) {
                    if (v14_0 != null) {
                        v14_0.close();
                    }
                    throw v4_8;
                }
                if (v14_0 != null) {
                    try {
                        v14_0.close();
                    } catch (java.io.IOException v10) {
                        org.apache.cordova.LOG.d("CameraLauncher", "Exception while closing file input stream.");
                    }
                }
                if ((v22_1.outWidth != 0) && (v22_1.outHeight != 0)) {
                    if ((this.targetWidth <= 0) && (this.targetHeight <= 0)) {
                        this.targetWidth = v22_1.outWidth;
                        this.targetHeight = v22_1.outHeight;
                    }
                    int v26;
                    int v25;
                    int v24 = 0;
                    if ((v23 != 90) && (v23 != 270)) {
                        v26 = v22_1.outWidth;
                        v25 = v22_1.outHeight;
                    } else {
                        v26 = v22_1.outHeight;
                        v25 = v22_1.outWidth;
                        v24 = 1;
                    }
                    int[] v31 = this.calculateAspectRatio(v26, v25);
                    v22_1.inJustDecodeBounds = 0;
                    v22_1.inSampleSize = org.apache.cordova.camera.CameraLauncher.calculateSampleSize(v26, v25, v31[0], v31[1]);
                    try {
                        java.io.InputStream v14_2 = org.apache.cordova.camera.FileHelper.getInputStreamFromUriString(v15.toString(), this.cordova);
                        int v30 = android.graphics.BitmapFactory.decodeStream(v14_2, 0, v22_1);
                    } catch (int v4_26) {
                        if (v14_2 != null) {
                            v14_2.close();
                        }
                        throw v4_26;
                    }
                    if (v14_2 != null) {
                        try {
                            v14_2.close();
                        } catch (java.io.IOException v10) {
                            org.apache.cordova.LOG.d("CameraLauncher", "Exception while closing file input stream.");
                        }
                    }
                    if (v30 != 0) {
                        int v28;
                        if (v24 != 0) {
                            v28 = v31[1];
                        } else {
                            v28 = v31[0];
                        }
                        int v27;
                        if (v24 != 0) {
                            v27 = v31[0];
                        } else {
                            v27 = v31[1];
                        }
                        android.graphics.Bitmap v3 = android.graphics.Bitmap.createScaledBitmap(v30, v28, v27, 1);
                        if (v3 != v30) {
                            v30.recycle();
                        }
                        if ((this.correctOrientation) && (v23 != 0)) {
                            android.graphics.Matrix v8_1 = new android.graphics.Matrix();
                            v8_1.setRotate(((float) v23));
                            try {
                                v3 = android.graphics.Bitmap.createBitmap(v3, 0, 0, v3.getWidth(), v3.getHeight(), v8_1, 1);
                                this.orientationCorrected = 1;
                            } catch (OutOfMemoryError v21) {
                                this.orientationCorrected = 0;
                            }
                        }
                        if (v17 != null) {
                            v17.delete();
                        }
                        v16 = v3;
                    } else {
                        v16 = 0;
                        if (v17 != null) {
                            v17.delete();
                        }
                    }
                } else {
                    v16 = 0;
                    if (v17 != null) {
                        v17.delete();
                    }
                }
            } catch (int v4_40) {
                if (v17 != null) {
                    v17.delete();
                }
                throw v4_40;
            }
        } else {
            v16 = 0;
            try {
                java.io.InputStream v14_3 = org.apache.cordova.camera.FileHelper.getInputStreamFromUriString(p33, this.cordova);
                v16 = android.graphics.BitmapFactory.decodeStream(v14_3);
            } catch (int v4_43) {
                if (v14_3 != null) {
                    try {
                        v14_3.close();
                    } catch (java.io.IOException v10) {
                        org.apache.cordova.LOG.d("CameraLauncher", "Exception while closing file input stream.");
                    }
                }
                throw v4_43;
            }
            if (v14_3 != null) {
                try {
                    v14_3.close();
                } catch (java.io.IOException v10) {
                    org.apache.cordova.LOG.d("CameraLauncher", "Exception while closing file input stream.");
                }
            }
        }
        return v16;
    }

Method org.apache.cordova.camera.CameraLauncher.createCaptureFile() calling method java.io.File.<init>()


    private java.io.File createCaptureFile(int p4, String p5)
    {
        if (p5.isEmpty()) {
            p5 = ".Pic";
        }
        String v5_1;
        if (p4 != 0) {
            if (p4 != 1) {
                throw new IllegalArgumentException(new StringBuilder().append("Invalid Encoding Type: ").append(p4).toString());
            } else {
                v5_1 = new StringBuilder().append(p5).append(".png").toString();
            }
        } else {
            v5_1 = new StringBuilder().append(p5).append(".jpg").toString();
        }
        return new java.io.File(this.getTempDirectoryPath(), v5_1);
    }

Method org.apache.cordova.camera.CameraLauncher.cleanup() calling method java.io.File.<init>()


    private void cleanup(int p3, android.net.Uri p4, android.net.Uri p5, android.graphics.Bitmap p6)
    {
        if (p6 != null) {
            p6.recycle();
        }
        new java.io.File(org.apache.cordova.camera.FileHelper.stripFileProtocol(p4.toString())).delete();
        this.checkForDuplicateImage(p3);
        if ((this.saveToPhotoAlbum) && (p5 != null)) {
            this.scanForGallery(p5);
        }
        System.gc();
        return;
    }

Method cordova.plugins.Diagnostic._getExternalSdCardDetails() calling method java.io.File.<init>()


    protected void _getExternalSdCardDetails()
    {
        String[] v5 = this.getStorageDirectories();
        org.json.JSONArray v1_1 = new org.json.JSONArray();
        int v4 = 0;
        while (v4 < v5.length) {
            String v2 = v5[v4];
            java.io.File v3_1 = new java.io.File(v2);
            org.json.JSONObject v0_1 = new org.json.JSONObject();
            if (v3_1.canRead()) {
                v0_1.put("path", v2);
                v0_1.put("filePath", new StringBuilder().append("file://").append(v2).toString());
                v0_1.put("canWrite", v3_1.canWrite());
                v0_1.put("freeSpace", this.getFreeSpaceInBytes(v2));
                if (!v2.contains("Android")) {
                    v0_1.put("type", "root");
                } else {
                    v0_1.put("type", "application");
                }
                v1_1.put(v0_1);
            }
            v4++;
        }
        this.currentContext.success(v1_1);
        return;
    }

Method com.synconset.cordovahttp.CordovaHttpUpload.run() calling method java.io.File.<init>()


    public void run()
    {
        try {
            com.github.kevinsawicki.http.HttpRequest v15 = com.github.kevinsawicki.http.HttpRequest.post(this.getUrlString());
            this.setupSecurity(v15);
            this.setupTimeouts(v15);
            v15.acceptCharset("UTF-8");
            v15.headers(this.getHeadersMap());
            java.net.URI v18 = new java.net.URI;
            v18(this.filePath);
            String v9 = this.filePath.substring((this.filePath.lastIndexOf(47) + 1));
            String v13 = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(this.filePath.substring((this.filePath.lastIndexOf(46) + 1)));
            org.apache.cordova.CallbackContext v20_23 = this.name;
            String v21_5 = new java.io.File;
            v21_5(v18);
            v15.part(v20_23, v9, v13, v21_5);
            java.util.Iterator v11 = this.getParamsMap().entrySet().iterator();
        } catch (com.github.kevinsawicki.http.HttpRequest$HttpRequestException v5) {
            this.respondWithError("There was an error loading the file");
            return;
        } catch (com.github.kevinsawicki.http.HttpRequest$HttpRequestException v5) {
            this.respondWithError("There was an error generating the response");
            return;
        } catch (com.github.kevinsawicki.http.HttpRequest$HttpRequestException v5) {
            if (!(v5.getCause() instanceof java.net.UnknownHostException)) {
                if (!(v5.getCause() instanceof javax.net.ssl.SSLHandshakeException)) {
                    if (!(v5.getCause() instanceof java.net.SocketTimeoutException)) {
                        this.respondWithError("There was an error with the request");
                        return;
                    } else {
                        this.respondWithError("Timeout");
                        return;
                    }
                } else {
                    this.respondWithError("SSL handshake failed");
                    return;
                }
            } else {
                this.respondWithError(0, "The host could not be resolved");
                return;
            }
        }
        while (v11.hasNext()) {
            java.util.Map$Entry v6_1 = ((java.util.Map$Entry) v11.next());
            String v12_1 = ((String) v6_1.getKey());
            String v19_0 = v6_1.getValue();
            if (!(v19_0 instanceof Number)) {
                if (!(v19_0 instanceof String)) {
                    this.respondWithError("All parameters must be Numbers or Strings");
                    return;
                } else {
                    v15.part(v12_1, ((String) v19_0));
                }
            } else {
                v15.part(v12_1, ((Number) v19_0));
            }
        }
        int v4 = v15.code();
        String v3 = v15.body("UTF-8");
        org.json.JSONObject v16_1 = new org.json.JSONObject();
        this.addResponseHeaders(v15, v16_1);
        v16_1.put("status", v4);
        if ((v4 < 200) || (v4 >= 300)) {
            v16_1.put("error", v3);
            this.getCallbackContext().error(v16_1);
            return;
        } else {
            v16_1.put("data", v3);
            this.getCallbackContext().success(v16_1);
            return;
        }
    }

Method com.synconset.cordovahttp.CordovaHttpDownload.run() calling method java.io.File.<init>()


    public void run()
    {
        try {
            com.github.kevinsawicki.http.HttpRequest v4 = com.github.kevinsawicki.http.HttpRequest.get(this.getUrlString(), this.getParamsMap(), 1);
            this.setupSecurity(v4);
            this.setupTimeouts(v4);
            v4.acceptCharset("UTF-8");
            v4.headers(this.getHeadersMap());
            int v0 = v4.code();
            org.json.JSONObject v5_1 = new org.json.JSONObject();
            this.addResponseHeaders(v4, v5_1);
            v5_1.put("status", v0);
        } catch (com.github.kevinsawicki.http.HttpRequest$HttpRequestException v1) {
            this.respondWithError("There was an error with the given filePath");
            return;
        } catch (com.github.kevinsawicki.http.HttpRequest$HttpRequestException v1) {
            this.respondWithError("There was an error generating the response");
            return;
        } catch (com.github.kevinsawicki.http.HttpRequest$HttpRequestException v1) {
            if (!(v1.getCause() instanceof java.net.UnknownHostException)) {
                if (!(v1.getCause() instanceof javax.net.ssl.SSLHandshakeException)) {
                    if (!(v1.getCause() instanceof java.net.SocketTimeoutException)) {
                        this.respondWithError("There was an error with the request");
                        return;
                    } else {
                        this.respondWithError("Timeout");
                        return;
                    }
                } else {
                    this.respondWithError("SSL handshake failed");
                    return;
                }
            } else {
                this.respondWithError(0, "The host could not be resolved");
                return;
            }
        }
        if ((v0 < 200) || (v0 >= 300)) {
            v5_1.put("error", "There was an error downloading the file");
            this.getCallbackContext().error(v5_1);
            return;
        } else {
            java.io.File v2_1 = new java.io.File(new java.net.URI(this.filePath));
            v4.receive(v2_1);
            v5_1.put("file", org.apache.cordova.file.FileUtils.getFilePlugin().getEntryForFile(v2_1));
            this.getCallbackContext().success(v5_1);
            return;
        }
    }

Method com.google.android.gms.internal.measurement.zzjt.zzli() calling method java.io.File.<init>()


    private final boolean zzli()
    {
        this.zzab();
        try {
            int v0_12;
            this.zzasi = new java.io.RandomAccessFile(new java.io.File(this.zzacv.getContext().getFilesDir(), "google_app_measurement.db"), "rw").getChannel();
            this.zzash = this.zzasi.tryLock();
        } catch (int v0_14) {
            this.zzacv.zzgi().zziv().zzg("Failed to acquire storage lock", v0_14);
            v0_12 = 0;
            return v0_12;
        } catch (int v0_13) {
            this.zzacv.zzgi().zziv().zzg("Failed to access storage lock file", v0_13);
        }
        if (this.zzash == null) {
            this.zzacv.zzgi().zziv().log("Storage concurrent data access panic");
        } else {
            this.zzacv.zzgi().zzjc().log("Storage concurrent access okay");
            v0_12 = 1;
            return v0_12;
        }
    }

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$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 org.apache.cordova.filetransfer.FileTransfer$2.run() calling method java.io.File.<init>()


    public void run()
    {
        if (!this.val$context.aborted) {
            android.net.Uri v26 = android.net.Uri.parse(this.val$target);
            org.apache.cordova.PluginResult$Status v28_10 = this.val$resourceApi;
            if (v26.getScheme() == null) {
                v26 = android.net.Uri.fromFile(new java.io.File(this.val$target));
            }
            android.net.Uri v25 = v28_10.remapUri(v26);
            java.net.HttpURLConnection v7 = 0;
            org.apache.cordova.PluginResult v23_1 = 0;
            org.apache.cordova.filetransfer.FileTransfer$TrackingInputStream v15 = 0;
            int v6 = 0;
            java.io.OutputStream v17 = 0;
            try {
                org.apache.cordova.PluginResult v24;
                java.io.File v11 = this.val$resourceApi.mapUriToFile(v25);
                this.val$context.targetFile = v11;
                org.apache.cordova.LOG.d("FileTransfer", new StringBuilder().append("Download file:").append(this.val$sourceUri).toString());
                org.apache.cordova.filetransfer.FileProgressResult v20_1 = new org.apache.cordova.filetransfer.FileProgressResult();
            } catch (org.apache.cordova.PluginResult$Status v28_20) {
                org.apache.cordova.filetransfer.FileTransfer.access$500();
                org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                if (v23_1 == null) {
                    v23_1 = new org.apache.cordova.PluginResult;
                    v23_1(org.apache.cordova.PluginResult$Status.ERROR, org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.CONNECTION_ERR, this.val$source, this.val$target, v7, 0));
                }
                if (v6 == 0) {
                    if (v23_1.getStatus() != org.apache.cordova.PluginResult$Status.OK.ordinal()) {
                        if (v11 != null) {
                            v11.delete();
                        }
                    }
                }
                this.val$context.sendPluginResult(v23_1);
                throw v28_20;
            } catch (Throwable v9_3) {
                v24 = 0;
                org.json.JSONObject v10_4 = org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.FILE_NOT_FOUND_ERR, this.val$source, this.val$target, v7, v9_3);
                org.apache.cordova.LOG.e("FileTransfer", v10_4.toString(), v9_3);
                org.apache.cordova.PluginResult v23_5 = new org.apache.cordova.PluginResult;
                v23_5(org.apache.cordova.PluginResult$Status.IO_EXCEPTION, v10_4);
                org.apache.cordova.filetransfer.FileTransfer.access$500();
                org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                if (v23_5 == null) {
                    v23_5 = new org.apache.cordova.PluginResult;
                    v23_5(org.apache.cordova.PluginResult$Status.ERROR, org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.CONNECTION_ERR, this.val$source, this.val$target, v7, 0));
                }
                if (v6 == 0) {
                    if (v23_5.getStatus() != org.apache.cordova.PluginResult$Status.OK.ordinal()) {
                        if (v11 != null) {
                            v11.delete();
                        }
                    }
                }
                this.val$context.sendPluginResult(v23_5);
            } catch (Throwable v9_2) {
                v24 = 0;
                org.json.JSONObject v10_3 = org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.CONNECTION_ERR, this.val$source, this.val$target, v7, v9_2);
                org.apache.cordova.LOG.e("FileTransfer", v10_3.toString(), v9_2);
                org.apache.cordova.PluginResult v23_4 = new org.apache.cordova.PluginResult;
                v23_4(org.apache.cordova.PluginResult$Status.IO_EXCEPTION, v10_3);
                org.apache.cordova.filetransfer.FileTransfer.access$500();
                org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                if (v23_4 == null) {
                    v23_4 = new org.apache.cordova.PluginResult;
                    v23_4(org.apache.cordova.PluginResult$Status.ERROR, org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.CONNECTION_ERR, this.val$source, this.val$target, v7, 0));
                }
                if (v6 == 0) {
                    if (v23_4.getStatus() != org.apache.cordova.PluginResult$Status.OK.ordinal()) {
                        if (v11 != null) {
                            v11.delete();
                        }
                    }
                }
                this.val$context.sendPluginResult(v23_4);
            } catch (Throwable v9_1) {
                v24 = 0;
                org.apache.cordova.LOG.e("FileTransfer", v9_1.getMessage(), v9_1);
                org.apache.cordova.PluginResult v23_3 = new org.apache.cordova.PluginResult;
                v23_3(org.apache.cordova.PluginResult$Status.JSON_EXCEPTION);
                org.apache.cordova.filetransfer.FileTransfer.access$500();
                org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                if (v23_3 == null) {
                    v23_3 = new org.apache.cordova.PluginResult;
                    v23_3(org.apache.cordova.PluginResult$Status.ERROR, org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.CONNECTION_ERR, this.val$source, this.val$target, v7, 0));
                }
                if (v6 == 0) {
                    if (v23_3.getStatus() != org.apache.cordova.PluginResult$Status.OK.ordinal()) {
                        if (v11 != null) {
                            v11.delete();
                        }
                    }
                }
                this.val$context.sendPluginResult(v23_3);
            } catch (Throwable v9_0) {
                v24 = 0;
                org.json.JSONObject v10_2 = org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.CONNECTION_ERR, this.val$source, this.val$target, v7, v9_0);
                org.apache.cordova.LOG.e("FileTransfer", v10_2.toString(), v9_0);
                org.apache.cordova.PluginResult v23_2 = new org.apache.cordova.PluginResult;
                v23_2(org.apache.cordova.PluginResult$Status.IO_EXCEPTION, v10_2);
                org.apache.cordova.filetransfer.FileTransfer.access$500();
                org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                if (v23_2 == null) {
                    v23_2 = new org.apache.cordova.PluginResult;
                    v23_2(org.apache.cordova.PluginResult$Status.ERROR, org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.CONNECTION_ERR, this.val$source, this.val$target, v7, 0));
                }
                if (v6 == 0) {
                    if (v23_2.getStatus() != org.apache.cordova.PluginResult$Status.OK.ordinal()) {
                        if (v11 != null) {
                            v11.delete();
                        }
                    }
                }
                this.val$context.sendPluginResult(v23_2);
            } catch (org.apache.cordova.PluginResult$Status v28_20) {
                v23_1 = v24;
            }
            if (!this.val$isLocalTransfer) {
                v7 = this.val$resourceApi.createHttpConnection(this.val$sourceUri);
                v7.setRequestMethod("GET");
                String v8 = org.apache.cordova.filetransfer.FileTransfer.access$000(this.this$0, this.val$sourceUri.toString());
                if (v8 != null) {
                    v7.setRequestProperty("cookie", v8);
                }
                v7.setRequestProperty("Accept-Encoding", "gzip");
                if (this.val$headers != null) {
                    org.apache.cordova.filetransfer.FileTransfer.access$100(v7, this.val$headers);
                }
                v7.connect();
                if (v7.getResponseCode() != 304) {
                    if (((v7.getContentEncoding() == null) || (v7.getContentEncoding().equalsIgnoreCase("gzip"))) && (v7.getContentLength() != -1)) {
                        v20_1.setLengthComputable(1);
                        v20_1.setTotal(((long) v7.getContentLength()));
                    }
                    v15 = org.apache.cordova.filetransfer.FileTransfer.access$300(v7);
                    v24 = 0;
                } else {
                    v6 = 1;
                    v7.disconnect();
                    org.apache.cordova.LOG.d("FileTransfer", new StringBuilder().append("Resource not modified: ").append(this.val$source).toString());
                    v24 = new org.apache.cordova.PluginResult;
                    v24(org.apache.cordova.PluginResult$Status.ERROR, org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.NOT_MODIFIED_ERR, this.val$source, this.val$target, v7, 0));
                }
            } else {
                org.apache.cordova.CordovaResourceApi$OpenForReadResult v22 = this.val$resourceApi.openForRead(this.val$sourceUri);
                if (v22.length != -1) {
                    v20_1.setLengthComputable(1);
                    v20_1.setTotal(v22.length);
                }
                org.apache.cordova.filetransfer.FileTransfer$SimpleTrackingInputStream v16 = new org.apache.cordova.filetransfer.FileTransfer$SimpleTrackingInputStream;
                v16(v22.inputStream);
                v15 = v16;
                v24 = 0;
            }
            org.apache.cordova.PluginResult v23_0;
            if (v6 != 0) {
                v23_0 = v24;
            } else {
                try {
                } catch (org.apache.cordova.PluginResult$Status v28_62) {
                    this.val$context.connection = 0;
                    org.apache.cordova.filetransfer.FileTransfer.access$200(v15);
                    org.apache.cordova.filetransfer.FileTransfer.access$200(v17);
                    throw v28_62;
                } catch (Throwable v9_3) {
                } catch (Throwable v9_2) {
                } catch (Throwable v9_1) {
                } catch (Throwable v9_0) {
                }
                if (!this.val$context.aborted) {
                    this.val$context.connection = v7;
                    byte[] v4 = new byte[16384];
                    v17 = this.val$resourceApi.openOutputStream(v25);
                    while(true) {
                        int v5 = v15.read(v4);
                        if (v5 <= 0) {
                            break;
                        }
                        v17.write(v4, 0, v5);
                        v20_1.setLoaded(v15.getTotalRawBytesRead());
                        org.apache.cordova.PluginResult v21 = new org.apache.cordova.PluginResult;
                        v21(org.apache.cordova.PluginResult$Status.OK, v20_1.toJSONObject());
                        v21.setKeepCallback(1);
                        this.val$context.sendPluginResult(v21);
                    }
                    this.val$context.connection = 0;
                    org.apache.cordova.filetransfer.FileTransfer.access$200(v15);
                    org.apache.cordova.filetransfer.FileTransfer.access$200(v17);
                    org.apache.cordova.LOG.d("FileTransfer", new StringBuilder().append("Saved file: ").append(this.val$target).toString());
                    Class v27 = this.this$0.webView.getClass();
                    try {
                        org.apache.cordova.PluginResult v0_62 = new Class[0];
                        org.apache.cordova.PluginResult v0_69 = new Object[0];
                        org.apache.cordova.PluginManager v18 = ((org.apache.cordova.PluginManager) v27.getMethod("getPluginManager", v0_62).invoke(this.this$0.webView, v0_69));
                    } catch (org.apache.cordova.PluginResult$Status v28) {
                    } catch (org.apache.cordova.PluginResult$Status v28) {
                    } catch (org.apache.cordova.PluginResult$Status v28) {
                    }
                    if (v18 == null) {
                        try {
                            v18 = ((org.apache.cordova.PluginManager) v27.getField("pluginManager").get(this.this$0.webView));
                        } catch (org.apache.cordova.PluginResult$Status v28) {
                        } catch (org.apache.cordova.PluginResult$Status v28) {
                        }
                    }
                    v11 = this.val$resourceApi.mapUriToFile(v25);
                    this.val$context.targetFile = v11;
                    org.apache.cordova.file.FileUtils v13_1 = ((org.apache.cordova.file.FileUtils) v18.getPlugin("File"));
                    if (v13_1 == null) {
                        org.apache.cordova.LOG.e("FileTransfer", "File plugin not found; cannot save downloaded file");
                        v23_0 = new org.apache.cordova.PluginResult;
                        v23_0(org.apache.cordova.PluginResult$Status.ERROR, "File plugin not found; cannot save downloaded file");
                    } else {
                        org.json.JSONObject v12 = v13_1.getEntryForFile(v11);
                        if (v12 == null) {
                            org.json.JSONObject v10_1 = org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.CONNECTION_ERR, this.val$source, this.val$target, v7, 0);
                            org.apache.cordova.LOG.e("FileTransfer", "File plugin cannot represent download path");
                            v23_0 = new org.apache.cordova.PluginResult;
                            v23_0(org.apache.cordova.PluginResult$Status.IO_EXCEPTION, v10_1);
                        } else {
                            v23_0 = new org.apache.cordova.PluginResult;
                            v23_0(org.apache.cordova.PluginResult$Status.OK, v12);
                        }
                    }
                } else {
                    this.val$context.connection = 0;
                    org.apache.cordova.filetransfer.FileTransfer.access$200(v15);
                    org.apache.cordova.filetransfer.FileTransfer.access$200(0);
                    org.apache.cordova.filetransfer.FileTransfer.access$500();
                    org.apache.cordova.PluginResult v23_6;
                    org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                    if (v24 != null) {
                        v23_6 = v24;
                    } else {
                        v23_6 = new org.apache.cordova.PluginResult;
                        v23_6(org.apache.cordova.PluginResult$Status.ERROR, org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.CONNECTION_ERR, this.val$source, this.val$target, v7, 0));
                    }
                    if ((v6 == 0) && ((v23_6.getStatus() != org.apache.cordova.PluginResult$Status.OK.ordinal()) && (v11 != null))) {
                        v11.delete();
                    }
                    this.val$context.sendPluginResult(v23_6);
                    return;
                }
            }
            org.apache.cordova.filetransfer.FileTransfer.access$500();
            org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
            if (v23_0 == null) {
                v23_0 = new org.apache.cordova.PluginResult;
                v23_0(org.apache.cordova.PluginResult$Status.ERROR, org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.CONNECTION_ERR, this.val$source, this.val$target, v7, 0));
            }
            if ((v6 == 0) && ((v23_0.getStatus() != org.apache.cordova.PluginResult$Status.OK.ordinal()) && (v11 != null))) {
                v11.delete();
            }
            this.val$context.sendPluginResult(v23_0);
        }
        return;
    }

Method org.apache.cordova.filetransfer.FileTransfer$1.run() calling method java.io.File.<init>()


    public void run()
    {
        if (!this.val$context.aborted) {
            android.net.Uri v33 = android.net.Uri.parse(this.val$source);
            Throwable v36_10 = this.val$resourceApi;
            if (v33.getScheme() == null) {
                v33 = android.net.Uri.fromFile(new java.io.File(this.val$source));
            }
            android.net.Uri v29 = v36_10.remapUri(v33);
            int v34 = 0;
            int v14 = -1;
            try {
                int v18;
                org.apache.cordova.filetransfer.FileUploadResult v27_1 = new org.apache.cordova.filetransfer.FileUploadResult();
                org.apache.cordova.filetransfer.FileProgressResult v22_1 = new org.apache.cordova.filetransfer.FileProgressResult();
                java.net.HttpURLConnection v10 = this.val$resourceApi.createHttpConnection(this.val$targetUri);
                v10.setDoInput(1);
                v10.setDoOutput(1);
                v10.setUseCaches(0);
                v10.setRequestMethod(this.val$httpMethod);
            } catch (Throwable v36_122) {
                org.apache.cordova.filetransfer.FileTransfer.access$500();
                org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                throw v36_122;
            } catch (org.json.JSONException v12_3) {
                org.json.JSONObject v13_2 = org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.FILE_NOT_FOUND_ERR, this.val$source, this.val$target, v10, v12_3);
                org.apache.cordova.LOG.e("FileTransfer", v13_2.toString(), v12_3);
                Throwable v36_116 = this.val$context;
                java.util.HashMap v37_83 = new org.apache.cordova.PluginResult;
                v37_83(org.apache.cordova.PluginResult$Status.IO_EXCEPTION, v13_2);
                v36_116.sendPluginResult(v37_83);
                org.apache.cordova.filetransfer.FileTransfer.access$500();
                try {
                    org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                } catch (Throwable v36_118) {
                    throw v36_118;
                }
            } catch (org.json.JSONException v12_2) {
                org.json.JSONObject v13_1 = org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.CONNECTION_ERR, this.val$source, this.val$target, v10, v12_2);
                org.apache.cordova.LOG.e("FileTransfer", v13_1.toString(), v12_2);
                org.apache.cordova.LOG.e("FileTransfer", new StringBuilder().append("Failed after uploading ").append(v34).append(" of ").append(v14).append(" bytes.").toString());
                Throwable v36_111 = this.val$context;
                java.util.HashMap v37_80 = new org.apache.cordova.PluginResult;
                v37_80(org.apache.cordova.PluginResult$Status.IO_EXCEPTION, v13_1);
                v36_111.sendPluginResult(v37_80);
                org.apache.cordova.filetransfer.FileTransfer.access$500();
                try {
                    org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                } catch (Throwable v36_113) {
                    throw v36_113;
                }
            } catch (org.json.JSONException v12_1) {
                org.apache.cordova.LOG.e("FileTransfer", v12_1.getMessage(), v12_1);
                this.val$context.sendPluginResult(new org.apache.cordova.PluginResult(org.apache.cordova.PluginResult$Status.JSON_EXCEPTION));
                org.apache.cordova.filetransfer.FileTransfer.access$500();
                try {
                    org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                } catch (Throwable v36_106) {
                    throw v36_106;
                }
            } catch (Throwable v31) {
                org.json.JSONObject v13_0 = org.apache.cordova.filetransfer.FileTransfer.access$400(org.apache.cordova.filetransfer.FileTransfer.CONNECTION_ERR, this.val$source, this.val$target, v10, v31);
                org.apache.cordova.LOG.e("FileTransfer", v13_0.toString(), v31);
                Throwable v36_99 = this.val$context;
                java.util.HashMap v37_64 = new org.apache.cordova.PluginResult;
                v37_64(org.apache.cordova.PluginResult$Status.IO_EXCEPTION, v13_0);
                v36_99.sendPluginResult(v37_64);
                org.apache.cordova.filetransfer.FileTransfer.access$500();
                try {
                    org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                } catch (Throwable v36_101) {
                    throw v36_101;
                }
            }
            if ((this.val$headers != null) && (this.val$headers.has("Content-Type"))) {
                v18 = 0;
            } else {
                v18 = 1;
            }
            if (v18 != 0) {
                v10.setRequestProperty("Content-Type", "multipart/form-data; boundary=+++++");
            }
            String v11 = org.apache.cordova.filetransfer.FileTransfer.access$000(this.this$0, this.val$target);
            if (v11 != null) {
                v10.setRequestProperty("Cookie", v11);
            }
            if (this.val$headers != null) {
                org.apache.cordova.filetransfer.FileTransfer.access$100(v10, this.val$headers);
            }
            StringBuilder v4_1 = new StringBuilder();
            try {
                java.util.Iterator v16 = this.val$params.keys();
            } catch (org.json.JSONException v12_0) {
                org.apache.cordova.LOG.e("FileTransfer", v12_0.getMessage(), v12_0);
                v4_1.append("--").append("+++++").append("\r\n");
                v4_1.append("Content-Disposition: form-data; name=\"").append(this.val$fileKey).append("\";");
                v4_1.append(" filename=\"").append(this.val$fileName).append(34).append("\r\n");
                v4_1.append("Content-Type: ").append(this.val$mimeType).append("\r\n").append("\r\n");
                byte[] v5 = v4_1.toString().getBytes("UTF-8");
                byte[] v32 = "\r\n--+++++--\r\n".getBytes("UTF-8");
                org.apache.cordova.CordovaResourceApi$OpenForReadResult v24 = this.val$resourceApi.openForRead(v29);
                if (v24.length >= 0) {
                    v14 = ((int) v24.length);
                    if (v18 != 0) {
                        v14 += (v5.length + v32.length);
                    }
                    v22_1.setLengthComputable(1);
                    v22_1.setTotal(((long) v14));
                }
                int v35_0;
                org.apache.cordova.LOG.d("FileTransfer", new StringBuilder().append("Content Length: ").append(v14).toString());
                if ((!this.val$chunkedMode) && (android.os.Build$VERSION.SDK_INT >= 8)) {
                    v35_0 = 0;
                } else {
                    v35_0 = 1;
                }
                if ((v35_0 == 0) && (v14 != -1)) {
                    int v35_1 = 0;
                } else {
                    v35_1 = 1;
                }
                if (v35_1 == 0) {
                    v10.setFixedLengthStreamingMode(v14);
                    if (this.val$useHttps) {
                        org.apache.cordova.LOG.w("FileTransfer", "setFixedLengthStreamingMode could cause OutOfMemoryException - switch to chunkedMode=true to avoid it if this is an issue.");
                    }
                } else {
                    v10.setChunkedStreamingMode(16384);
                    v10.setRequestProperty("Transfer-Encoding", "chunked");
                }
                v10.connect();
                try {
                    java.io.OutputStream v28 = v10.getOutputStream();
                } catch (Throwable v36_94) {
                    org.apache.cordova.filetransfer.FileTransfer.access$200(v24.inputStream);
                    org.apache.cordova.filetransfer.FileTransfer.access$200(v28);
                    throw v36_94;
                }
                if (!this.val$context.aborted) {
                    this.val$context.connection = v10;
                    if (v18 != 0) {
                        v28.write(v5);
                        v34 = (0 + v5.length);
                    }
                    int v7_0 = Math.min(v24.inputStream.available(), 16384);
                    byte[] v6_0 = new byte[v7_0];
                    int v9_0 = v24.inputStream.read(v6_0, 0, v7_0);
                    long v20 = 0;
                    while (v9_0 > 0) {
                        v34 += v9_0;
                        v27_1.setBytesSent(((long) v34));
                        v28.write(v6_0, 0, v9_0);
                        if (((long) v34) > (102400 + v20)) {
                            v20 = ((long) v34);
                            org.apache.cordova.LOG.d("FileTransfer", new StringBuilder().append("Uploaded ").append(v34).append(" of ").append(v14).append(" bytes").toString());
                        }
                        v9_0 = v24.inputStream.read(v6_0, 0, Math.min(v24.inputStream.available(), 16384));
                        v22_1.setLoaded(((long) v34));
                        org.apache.cordova.PluginResult v23 = new org.apache.cordova.PluginResult;
                        v23(org.apache.cordova.PluginResult$Status.OK, v22_1.toJSONObject());
                        v23.setKeepCallback(1);
                        this.val$context.sendPluginResult(v23);
                    }
                    if (v18 != 0) {
                        v28.write(v32);
                        v34 += v32.length;
                    }
                    v28.flush();
                    org.apache.cordova.filetransfer.FileTransfer.access$200(v24.inputStream);
                    org.apache.cordova.filetransfer.FileTransfer.access$200(v28);
                    this.val$context.connection = 0;
                    org.apache.cordova.LOG.d("FileTransfer", new StringBuilder().append("Sent ").append(v34).append(" of ").append(v14).toString());
                    int v25 = v10.getResponseCode();
                    org.apache.cordova.LOG.d("FileTransfer", new StringBuilder().append("response code: ").append(v25).toString());
                    org.apache.cordova.LOG.d("FileTransfer", new StringBuilder().append("response headers: ").append(v10.getHeaderFields()).toString());
                    try {
                        org.apache.cordova.filetransfer.FileTransfer$TrackingInputStream v15 = org.apache.cordova.filetransfer.FileTransfer.access$300(v10);
                    } catch (Throwable v36_71) {
                        this.val$context.connection = 0;
                        org.apache.cordova.filetransfer.FileTransfer.access$200(v15);
                        throw v36_71;
                    }
                    if (!this.val$context.aborted) {
                        this.val$context.connection = v10;
                        java.io.ByteArrayOutputStream v19 = new java.io.ByteArrayOutputStream;
                        v19(Math.max(1024, v10.getContentLength()));
                        byte[] v6_1 = new byte[1024];
                        while(true) {
                            int v9_1 = v15.read(v6_1);
                            if (v9_1 <= 0) {
                                break;
                            }
                            v19.write(v6_1, 0, v9_1);
                        }
                        String v26 = v19.toString("UTF-8");
                        this.val$context.connection = 0;
                        org.apache.cordova.filetransfer.FileTransfer.access$200(v15);
                        org.apache.cordova.LOG.d("FileTransfer", "got response from server");
                        org.apache.cordova.LOG.d("FileTransfer", v26.substring(0, Math.min(256, v26.length())));
                        v27_1.setResponseCode(v25);
                        v27_1.setResponse(v26);
                        this.val$context.sendPluginResult(new org.apache.cordova.PluginResult(org.apache.cordova.PluginResult$Status.OK, v27_1.toJSONObject()));
                        org.apache.cordova.filetransfer.FileTransfer.access$500();
                        try {
                            org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                        } catch (Throwable v36_68) {
                            throw v36_68;
                        }
                    } else {
                        this.val$context.connection = 0;
                        org.apache.cordova.filetransfer.FileTransfer.access$200(v15);
                        org.apache.cordova.filetransfer.FileTransfer.access$500();
                        try {
                            org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                        } catch (Throwable v36_78) {
                            throw v36_78;
                        }
                    }
                } else {
                    org.apache.cordova.filetransfer.FileTransfer.access$200(v24.inputStream);
                    org.apache.cordova.filetransfer.FileTransfer.access$200(v28);
                    org.apache.cordova.filetransfer.FileTransfer.access$500();
                    try {
                        org.apache.cordova.filetransfer.FileTransfer.access$500().remove(this.val$objectId);
                    } catch (Throwable v36_121) {
                        throw v36_121;
                    }
                }
            }
            while (v16.hasNext()) {
                Object v17 = v16.next();
                if (!String.valueOf(v17).equals("headers")) {
                    v4_1.append("--").append("+++++").append("\r\n");
                    v4_1.append("Content-Disposition: form-data; name=\"").append(v17.toString()).append(34);
                    v4_1.append("\r\n").append("\r\n");
                    v4_1.append(this.val$params.getString(v17.toString()));
                    v4_1.append("\r\n");
                }
            }
        }
        return;
    }

Method org.apache.cordova.file.Filesystem.nativeUriForFullPath() calling method java.io.File.<init>()


    public android.net.Uri nativeUriForFullPath(String p4)
    {
        android.net.Uri v1 = 0;
        if (p4 != null) {
            String v0 = android.net.Uri.fromFile(new java.io.File(p4)).getEncodedPath();
            if (v0.startsWith("/")) {
                v0 = v0.substring(1);
            }
            v1 = this.rootUri.buildUpon().appendEncodedPath(v0).build();
        }
        return v1;
    }

Method org.apache.cordova.file.Filesystem.getParentForLocalURL() calling method java.io.File.<init>()


    public org.json.JSONObject getParentForLocalURL(org.apache.cordova.file.LocalFilesystemURL p6)
    {
        android.net.Uri v1 = p6.uri;
        String v0 = new java.io.File(p6.uri.getPath()).getParent();
        if (!"/".equals(v0)) {
            v1 = p6.uri.buildUpon().path(new StringBuilder().append(v0).append(47).toString()).build();
        }
        return this.getEntryForLocalURL(org.apache.cordova.file.LocalFilesystemURL.parse(v1));
    }

Method org.apache.cordova.file.DirectoryManager.constructFilePaths() calling method java.io.File.<init>()


    private static java.io.File constructFilePaths(String p3, String p4)
    {
        java.io.File v0_0;
        if (!p4.startsWith(p3)) {
            v0_0 = new java.io.File(new StringBuilder().append(p3).append("/").append(p4).toString());
        } else {
            v0_0 = new java.io.File(p4);
        }
        return v0_0;
    }

Method org.apache.cordova.CordovaResourceApi.remapPath() calling method java.io.File.<init>()


    public String remapPath(String p2)
    {
        return this.remapUri(android.net.Uri.fromFile(new java.io.File(p2))).getPath();
    }

Method org.apache.cordova.CordovaResourceApi.openOutputStream() calling method java.io.File.<init>()


    public java.io.OutputStream openOutputStream(android.net.Uri p7, boolean p8)
    {
        java.io.FileOutputStream v3_0;
        this.assertBackgroundThread();
        switch (org.apache.cordova.CordovaResourceApi.getUriType(p7)) {
            case 0:
                java.io.File v1_1 = new java.io.File(p7.getPath());
                java.io.File v2 = v1_1.getParentFile();
                if (v2 != null) {
                    v2.mkdirs();
                }
                v3_0 = new java.io.FileOutputStream(v1_1, p8);
                break;
            case 1:
            default:
                throw new java.io.FileNotFoundException(new StringBuilder().append("URI not supported by CordovaResourceApi: ").append(p7).toString());
                break;
            case 2:
            case 3:
                java.io.FileOutputStream v3_6;
                if (!p8) {
                    v3_6 = "w";
                } else {
                    v3_6 = "wa";
                }
                v3_0 = this.contentResolver.openAssetFileDescriptor(p7, v3_6).createOutputStream();
                break;
        }
        return v3_0;
    }

Method org.apache.cordova.CordovaResourceApi.mapUriToFile() calling method java.io.File.<init>()


    public java.io.File mapUriToFile(android.net.Uri p10)
    {
        java.io.File v3_0 = 0;
        this.assertBackgroundThread();
        switch (org.apache.cordova.CordovaResourceApi.getUriType(p10)) {
            case 0:
                v3_0 = new java.io.File(p10.getPath());
            case 1:
            default:
                break;
            case 2:
                android.database.Cursor v7 = this.contentResolver.query(p10, org.apache.cordova.CordovaResourceApi.LOCAL_FILE_PROJECTION, 0, 0, 0);
                if (v7 == null) {
                } else {
                    try {
                        int v6 = v7.getColumnIndex(org.apache.cordova.CordovaResourceApi.LOCAL_FILE_PROJECTION[0]);
                    } catch (int v0_4) {
                        v7.close();
                        throw v0_4;
                    }
                    if ((v6 != -1) && (v7.getCount() > 0)) {
                        v7.moveToFirst();
                        String v8 = v7.getString(v6);
                        if (v8 != null) {
                            v3_0 = new java.io.File(v8);
                            v7.close();
                        }
                    }
                    v7.close();
                }
                break;
        }
        return v3_0;
    }

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


    private static java.io.File zzf(android.content.Context p3, String p4)
    {
        java.io.UnsupportedEncodingException v0_3;
        if (!android.text.TextUtils.isEmpty(p4)) {
            try {
                java.io.UnsupportedEncodingException v0_7 = android.util.Base64.encodeToString(p4.getBytes("UTF-8"), 11);
                v0_3 = new StringBuilder((String.valueOf(v0_7).length() + 33)).append("com.google.InstanceId_").append(v0_7).append(".properties").toString();
            } catch (java.io.UnsupportedEncodingException v0_4) {
                throw new AssertionError(v0_4);
            }
        } else {
            v0_3 = "com.google.InstanceId.properties";
        }
        return new java.io.File(com.google.firebase.iid.zzx.zzb(p3), v0_3);
    }

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


    private zzav(android.content.Context p5, com.google.firebase.iid.zzx p6)
    {
        this.zzdb = new android.support.v4.util.ArrayMap();
        this.zzv = p5;
        this.zzcz = p5.getSharedPreferences("com.google.android.gms.appid", 0);
        this.zzda = p6;
        String v2_1 = new java.io.File(android.support.v4.content.ContextCompat.getNoBackupFilesDir(this.zzv), "com.google.android.gms.appid-no-backup");
        try {
            if ((!v2_1.exists()) && ((v2_1.createNewFile()) && (!this.isEmpty()))) {
                android.util.Log.i("FirebaseInstanceId", "App restored, clearing state");
                this.zzak();
                com.google.firebase.iid.FirebaseInstanceId.getInstance().zzl();
            }
        } catch (String v0_8) {
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                String v0_10 = String.valueOf(v0_8.getMessage());
                if (v0_10.length() == 0) {
                    String v0_12 = new String("Error creating file in no backup dir: ");
                } else {
                    v0_12 = "Error creating file in no backup dir: ".concat(v0_10);
                }
                android.util.Log.d("FirebaseInstanceId", v0_12);
            }
        }
        return;
    }

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


    static void zza(com.google.android.gms.internal.measurement.zzfi p5, android.database.sqlite.SQLiteDatabase p6)
    {
        if (p5 != null) {
            com.google.android.gms.internal.measurement.zzfk v0_5 = new java.io.File(p6.getPath());
            if (!v0_5.setReadable(0, 0)) {
                p5.zziy().log("Failed to turn off database read permission");
            }
            if (!v0_5.setWritable(0, 0)) {
                p5.zziy().log("Failed to turn off database write permission");
            }
            if (!v0_5.setReadable(1, 1)) {
                p5.zziy().log("Failed to turn on database read permission for owner");
            }
            if (!v0_5.setWritable(1, 1)) {
                p5.zziy().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.common.util.SharedPreferencesUtils.publishWorldReadableSharedPreferences() calling method java.io.File.<init>()


    public static void publishWorldReadableSharedPreferences(android.content.Context p6, android.content.SharedPreferences$Editor p7, String p8)
    {
        java.io.File v0_1 = new java.io.File(p6.getApplicationInfo().dataDir, "shared_prefs");
        java.io.File v1_4 = v0_1.getParentFile();
        if (v1_4 != null) {
            v1_4.setExecutable(1, 0);
        }
        v0_1.setExecutable(1, 0);
        p7.commit();
        new java.io.File(v0_1, String.valueOf(p8).concat(".xml")).setReadable(1, 0);
        return;
    }

Method com.facebook.share.internal.VideoUploader$UploadContext.initialize() calling method java.io.File.<init>()


    private void initialize()
    {
        try {
            if (!com.facebook.internal.Utility.isFileUri(this.videoUri)) {
                if (!com.facebook.internal.Utility.isContentUri(this.videoUri)) {
                    throw new com.facebook.FacebookException("Uri must be a content:// or file:// uri");
                } else {
                    this.videoSize = com.facebook.internal.Utility.getContentSize(this.videoUri);
                    this.videoStream = com.facebook.FacebookSdk.getApplicationContext().getContentResolver().openInputStream(this.videoUri);
                }
            } else {
                android.os.ParcelFileDescriptor v1 = android.os.ParcelFileDescriptor.open(new java.io.File(this.videoUri.getPath()), 268435456);
                this.videoSize = v1.getStatSize();
                this.videoStream = new android.os.ParcelFileDescriptor$AutoCloseInputStream(v1);
            }
        } catch (java.io.FileNotFoundException v0) {
            com.facebook.internal.Utility.closeQuietly(this.videoStream);
            throw v0;
        }
        return;
    }

Method com.facebook.share.internal.ShareInternalUtility.newUploadStagingResourceWithImageRequest() calling method java.io.File.<init>()


    public static com.facebook.GraphRequest newUploadStagingResourceWithImageRequest(com.facebook.AccessToken p7, android.net.Uri p8, com.facebook.GraphRequest$Callback p9)
    {
        com.facebook.GraphRequest v0_4;
        if (!com.facebook.internal.Utility.isFileUri(p8)) {
            if (com.facebook.internal.Utility.isContentUri(p8)) {
                com.facebook.GraphRequest$ParcelableResourceWithMimeType v6_1 = new com.facebook.GraphRequest$ParcelableResourceWithMimeType(p8, "image/png");
                android.os.Bundle v3_0 = new android.os.Bundle(1);
                v3_0.putParcelable("file", v6_1);
                v0_4 = new com.facebook.GraphRequest(p7, "me/staging_resources", v3_0, com.facebook.HttpMethod.POST, p9);
            } else {
                throw new com.facebook.FacebookException("The image Uri must be either a file:// or content:// Uri");
            }
        } else {
            v0_4 = com.facebook.share.internal.ShareInternalUtility.newUploadStagingResourceWithImageRequest(p7, new java.io.File(p8.getPath()), p9);
        }
        return v0_4;
    }

Method com.facebook.internal.Utility.refreshBestGuessNumberOfCPUCores() calling method java.io.File.<init>()


    private static int refreshBestGuessNumberOfCPUCores()
    {
        int v3_6;
        if (com.facebook.internal.Utility.numCPUCores <= 0) {
            try {
                java.io.File[] v1 = new java.io.File("/sys/devices/system/cpu/").listFiles(new com.facebook.internal.Utility$3());
            } catch (int v3) {
                if (com.facebook.internal.Utility.numCPUCores <= 0) {
                    com.facebook.internal.Utility.numCPUCores = Math.max(Runtime.getRuntime().availableProcessors(), 1);
                }
                v3_6 = com.facebook.internal.Utility.numCPUCores;
            }
            if (v1 == null) {
            } else {
                com.facebook.internal.Utility.numCPUCores = v1.length;
            }
        } else {
            v3_6 = com.facebook.internal.Utility.numCPUCores;
        }
        return v3_6;
    }

Method com.facebook.internal.NativeAppCallAttachmentStore.getAttachmentsDirectoryForCall() calling method java.io.File.<init>()


    static java.io.File getAttachmentsDirectoryForCall(java.util.UUID p3, boolean p4)
    {
        java.io.File v0_0;
        if (com.facebook.internal.NativeAppCallAttachmentStore.attachmentsDirectory != null) {
            v0_0 = new java.io.File(com.facebook.internal.NativeAppCallAttachmentStore.attachmentsDirectory, p3.toString());
            if ((p4) && (!v0_0.exists())) {
                v0_0.mkdirs();
            }
        } else {
            v0_0 = 0;
        }
        return v0_0;
    }

Method com.facebook.internal.NativeAppCallAttachmentStore.getAttachmentsDirectory() calling method java.io.File.<init>()


    static declared_synchronized java.io.File getAttachmentsDirectory()
    {
        try {
            if (com.facebook.internal.NativeAppCallAttachmentStore.attachmentsDirectory == null) {
                com.facebook.internal.NativeAppCallAttachmentStore.attachmentsDirectory = new java.io.File(com.facebook.FacebookSdk.getApplicationContext().getCacheDir(), "com.facebook.NativeAppCallAttachmentStore.files");
            }
        } catch (java.io.File v0_1) {
            throw v0_1;
        }
        return com.facebook.internal.NativeAppCallAttachmentStore.attachmentsDirectory;
    }

Method com.facebook.internal.NativeAppCallAttachmentStore.getAttachmentFile() calling method java.io.File.<init>()


    static java.io.File getAttachmentFile(java.util.UUID p5, String p6, boolean p7)
    {
        java.io.File v2 = 0;
        java.io.File v0 = com.facebook.internal.NativeAppCallAttachmentStore.getAttachmentsDirectoryForCall(p5, p7);
        if (v0 != null) {
            try {
                v2 = new java.io.File(v0, java.net.URLEncoder.encode(p6, "UTF-8"));
            } catch (java.io.UnsupportedEncodingException v1) {
            }
        }
        return v2;
    }

Method com.facebook.internal.FileLruCache.get() calling method java.io.File.<init>()


    public java.io.InputStream get(String p18, String p19)
    {
        java.io.File v6_1 = new java.io.File(this.directory, com.facebook.internal.Utility.md5hash(p18));
        try {
            com.facebook.LoggingBehavior v4_0 = new java.io.BufferedInputStream(new java.io.FileInputStream(v6_1), 8192);
            int v12 = 0;
            try {
                org.json.JSONObject v8 = com.facebook.internal.FileLruCache$StreamHeader.readHeader(v4_0);
            } catch (com.facebook.LoggingBehavior v13_9) {
                if (v12 == 0) {
                    v4_0.close();
                }
                throw v13_9;
            }
            if (v8 != null) {
                String v7 = v8.optString("key");
                if ((v7 != null) && (v7.equals(p18))) {
                    String v9 = v8.optString("tag", 0);
                    if (((p19 != null) || (v9 == null)) && ((p19 == null) || (p19.equals(v9)))) {
                        long v2 = new java.util.Date().getTime();
                        com.facebook.internal.Logger.log(com.facebook.LoggingBehavior.CACHE, com.facebook.internal.FileLruCache.TAG, new StringBuilder().append("Setting lastModified to ").append(Long.valueOf(v2)).append(" for ").append(v6_1.getName()).toString());
                        v6_1.setLastModified(v2);
                        v12 = 1;
                        if (1 != 0) {
                            return v4_0;
                        } else {
                            v4_0.close();
                            return v4_0;
                        }
                    } else {
                        if (0 == 0) {
                            v4_0.close();
                        }
                        v4_0 = 0;
                        return v4_0;
                    }
                } else {
                    if (0 == 0) {
                        v4_0.close();
                    }
                    v4_0 = 0;
                    return v4_0;
                }
            } else {
                if (0 == 0) {
                    v4_0.close();
                }
                v4_0 = 0;
                return v4_0;
            }
        } catch (java.io.IOException v5) {
            v4_0 = 0;
            return v4_0;
        }
    }

Method com.facebook.internal.FileLruCache.renameToTargetAndTrim() calling method java.io.File.<init>()


    private void renameToTargetAndTrim(String p4, java.io.File p5)
    {
        if (!p5.renameTo(new java.io.File(this.directory, com.facebook.internal.Utility.md5hash(p4)))) {
            p5.delete();
        }
        this.postTrim();
        return;
    }

Method com.facebook.internal.FileLruCache.<init>() calling method java.io.File.<init>()


    public FileLruCache(String p5, com.facebook.internal.FileLruCache$Limits p6)
    {
        this.lastClearCacheTime = new java.util.concurrent.atomic.AtomicLong(0);
        this.tag = p5;
        this.limits = p6;
        this.directory = new java.io.File(com.facebook.FacebookSdk.getCacheDir(), p5);
        this.lock = new Object();
        if ((this.directory.mkdirs()) || (this.directory.isDirectory())) {
            com.facebook.internal.FileLruCache$BufferFile.deleteAll(this.directory);
        }
        return;
    }

Method com.facebook.internal.FileLruCache$BufferFile.newFile() calling method java.io.File.<init>()


    static java.io.File newFile(java.io.File p4)
    {
        return new java.io.File(p4, new StringBuilder().append("buffer").append(Long.valueOf(com.facebook.internal.FileLruCache.access$300().incrementAndGet()).toString()).toString());
    }

Method com.facebook.GraphRequest.newUploadPhotoRequest() calling method java.io.File.<init>()


    public static com.facebook.GraphRequest newUploadPhotoRequest(com.facebook.AccessToken p6, String p7, android.net.Uri p8, String p9, android.os.Bundle p10, com.facebook.GraphRequest$Callback p11)
    {
        com.facebook.GraphRequest v0_2;
        String v7_1 = com.facebook.GraphRequest.getDefaultPhotoPathIfNull(p7);
        if (!com.facebook.internal.Utility.isFileUri(p8)) {
            if (com.facebook.internal.Utility.isContentUri(p8)) {
                android.os.Bundle v3_2 = new android.os.Bundle();
                if (p10 != null) {
                    v3_2.putAll(p10);
                }
                v3_2.putParcelable("picture", p8);
                v0_2 = new com.facebook.GraphRequest(p6, v7_1, v3_2, com.facebook.HttpMethod.POST, p11);
            } else {
                throw new com.facebook.FacebookException("The photo Uri must be either a file:// or content:// Uri");
            }
        } else {
            v0_2 = com.facebook.GraphRequest.newUploadPhotoRequest(p6, v7_1, new java.io.File(p8.getPath()), p9, p10, p11);
        }
        return v0_2;
    }

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.graphics.TypefaceCompatUtil.getTempFile() calling method java.io.File.<init>()


    public static java.io.File getTempFile(android.content.Context p5)
    {
        String v2 = new StringBuilder().append(".font").append(android.os.Process.myPid()).append("-").append(android.os.Process.myTid()).append("-").toString();
        int v1 = 0;
        while (v1 < 100) {
            int v0_0 = new java.io.File(p5.getCacheDir(), new StringBuilder().append(v2).append(v1).toString());
            try {
                if (v0_0.createNewFile()) {
                    return v0_0;
                }
                v1++;
            } catch (java.io.IOException v3) {
            }
        }
        v0_0 = 0;
        return v0_0;
    }

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.ContextCompat.getNoBackupFilesDir() calling method java.io.File.<init>()


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

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


    public static java.io.File getDataDir(android.content.Context p3)
    {
        int v1_1;
        if (android.os.Build$VERSION.SDK_INT < 24) {
            String v0 = p3.getApplicationInfo().dataDir;
            if (v0 == null) {
                v1_1 = 0;
            } else {
                v1_1 = new java.io.File(v0);
            }
        } else {
            v1_1 = p3.getDataDir();
        }
        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 p4)
    {
        java.io.File v1_1;
        if (android.os.Build$VERSION.SDK_INT < 21) {
            v1_1 = android.support.v4.content.ContextCompat.createFilesDir(new java.io.File(p4.getApplicationInfo().dataDir, "code_cache"));
        } else {
            v1_1 = p4.getCodeCacheDir();
        }
        return v1_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 org.apache.cordova.file.LocalFilesystem.truncateFileAtURL() calling method java.io.RandomAccessFile.<init>()


    public long truncateFileAtURL(org.apache.cordova.file.LocalFilesystemURL p7, long p8)
    {
        if (new java.io.File(this.filesystemPathForURL(p7)).exists()) {
            java.io.RandomAccessFile v2_0 = new java.io.RandomAccessFile(this.filesystemPathForURL(p7), "rw");
            try {
                if (v2_0.length() < p8) {
                    p8 = v2_0.length();
                    v2_0.close();
                } else {
                    v2_0.getChannel().truncate(p8);
                    v2_0.close();
                }
            } catch (Throwable v3_1) {
                v2_0.close();
                throw v3_1;
            }
            return p8;
        } else {
            throw new java.io.FileNotFoundException(new StringBuilder().append("File at ").append(p7.uri).append(" does not exist.").toString());
        }
    }

Method com.google.android.gms.internal.measurement.zzjt.zzli() calling method java.io.RandomAccessFile.<init>()


    private final boolean zzli()
    {
        this.zzab();
        try {
            int v0_12;
            this.zzasi = new java.io.RandomAccessFile(new java.io.File(this.zzacv.getContext().getFilesDir(), "google_app_measurement.db"), "rw").getChannel();
            this.zzash = this.zzasi.tryLock();
        } catch (int v0_14) {
            this.zzacv.zzgi().zziv().zzg("Failed to acquire storage lock", v0_14);
            v0_12 = 0;
            return v0_12;
        } catch (int v0_13) {
            this.zzacv.zzgi().zziv().zzg("Failed to access storage lock file", v0_13);
        }
        if (this.zzash == null) {
            this.zzacv.zzgi().zziv().log("Storage concurrent data access panic");
        } else {
            this.zzacv.zzgi().zzjc().log("Storage concurrent access okay");
            v0_12 = 1;
            return v0_12;
        }
    }

Method com.google.firebase.iid.zzx.zza() calling method java.io.RandomAccessFile.<init>()


    private final com.google.firebase.iid.zzy zza(android.content.Context p12, String p13, com.google.firebase.iid.zzy p14, boolean p15)
    {
        if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
            android.util.Log.d("FirebaseInstanceId", "Writing key to properties file");
        }
        int v2_4 = new java.util.Properties();
        v2_4.setProperty("pub", com.google.firebase.iid.zzy.zza(p14));
        v2_4.setProperty("pri", com.google.firebase.iid.zzy.zzb(p14));
        v2_4.setProperty("cre", String.valueOf(com.google.firebase.iid.zzy.zzc(p14)));
        String v1_9 = com.google.firebase.iid.zzx.zzf(p12, p13);
        try {
            v1_9.createNewFile();
            StringBuilder v3_9 = new java.io.RandomAccessFile(v1_9, "rw");
            try {
                java.nio.channels.FileChannel v4_4 = v3_9.getChannel();
                try {
                    v4_4.lock();
                } catch (String v1_19) {
                    int v2_6 = 0;
                    if (v4_4 != null) {
                        com.google.firebase.iid.zzx.zza(v2_6, v4_4);
                    }
                    throw v1_19;
                } catch (String v1_18) {
                    try {
                        throw v1_18;
                    } catch (int v2_5) {
                        v2_6 = v1_18;
                        v1_19 = v2_5;
                    }
                }
                if ((p15) && (v4_4.size() > 0)) {
                    try {
                        v4_4.position(0);
                        p14 = com.google.firebase.iid.zzx.zza(v4_4);
                    } catch (String v1_12) {
                        if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                            String v1_14 = String.valueOf(v1_12);
                            android.util.Log.d("FirebaseInstanceId", new StringBuilder((String.valueOf(v1_14).length() + 64)).append("Tried reading key pair before writing new one, but failed with: ").append(v1_14).toString());
                        }
                    } catch (String v1_12) {
                    }
                    if (v4_4 != null) {
                        com.google.firebase.iid.zzx.zza(0, v4_4);
                    }
                    com.google.firebase.iid.zzx.zza(0, v3_9);
                    return p14;
                }
                v4_4.position(0);
                v2_4.store(java.nio.channels.Channels.newOutputStream(v4_4), 0);
                if (v4_4 != null) {
                    com.google.firebase.iid.zzx.zza(0, v4_4);
                }
                com.google.firebase.iid.zzx.zza(0, v3_9);
                return p14;
            } catch (String v1_0) {
                int v2_2 = 0;
                com.google.firebase.iid.zzx.zza(v2_2, v3_9);
                throw v1_0;
            } catch (String v1_24) {
                try {
                    throw v1_24;
                } catch (int v2_8) {
                    v2_2 = v1_24;
                    v1_0 = v2_8;
                }
            }
        } catch (String v1_2) {
            String v1_3 = String.valueOf(v1_2);
            android.util.Log.w("FirebaseInstanceId", new StringBuilder((String.valueOf(v1_3).length() + 21)).append("Failed to write key: ").append(v1_3).toString());
            p14 = 0;
            return p14;
        }
    }

Method com.google.android.gms.common.util.IOUtils.lockAndTruncateFile() calling method java.io.RandomAccessFile.<init>()


    public static void lockAndTruncateFile(java.io.File p6)
    {
        java.io.IOException v1 = 0;
        if (p6.exists()) {
            try {
                int v2_1 = new java.io.RandomAccessFile(p6, "rw");
                try {
                    java.io.IOException v0_0 = v2_1.getChannel();
                    v1 = v0_0.lock();
                    v0_0.truncate(0);
                } catch (java.io.IOException v0_1) {
                    if (v1 != null) {
                        if (v1.isValid()) {
                            try {
                                v1.release();
                            } catch (java.io.IOException v1) {
                            }
                        }
                    }
                    if (v2_1 != 0) {
                        com.google.android.gms.common.util.IOUtils.closeQuietly(v2_1);
                    }
                    throw v0_1;
                }
                if ((v1 != null) && (v1.isValid())) {
                    try {
                        v1.release();
                    } catch (java.io.IOException v0) {
                    }
                }
                com.google.android.gms.common.util.IOUtils.closeQuietly(v2_1);
                return;
            } catch (java.io.IOException v0_1) {
                v2_1 = 0;
            }
        } else {
            throw new java.io.FileNotFoundException();
        }
    }

Method com.google.android.gms.internal.config.zzan.run() calling method android.content.Context.openFileOutput()


    public final void run()
    {
        String v2_1 = new com.google.android.gms.internal.config.zzaw();
        if (this.zzat != null) {
            v2_1.zzbp = com.google.android.gms.internal.config.zzan.zza(this.zzat);
        }
        if (this.zzau != null) {
            v2_1.zzbq = com.google.android.gms.internal.config.zzan.zza(this.zzau);
        }
        if (this.zzav != null) {
            v2_1.zzbr = com.google.android.gms.internal.config.zzan.zza(this.zzav);
        }
        if (this.zzaj != null) {
            int v0_11 = new com.google.android.gms.internal.config.zzau();
            v0_11.zzbk = this.zzaj.getLastFetchStatus();
            v0_11.zzbl = this.zzaj.isDeveloperModeEnabled();
            v2_1.zzbs = v0_11;
        }
        if ((this.zzaj != null) && (this.zzaj.zzr() != null)) {
            int v3_1 = new java.util.ArrayList();
            java.util.Map v4 = this.zzaj.zzr();
            java.util.Iterator v5 = v4.keySet().iterator();
            while (v5.hasNext()) {
                int v0_30 = ((String) v5.next());
                if (v4.get(v0_30) != null) {
                    com.google.android.gms.internal.config.zzax v6_1 = new com.google.android.gms.internal.config.zzax();
                    v6_1.namespace = v0_30;
                    v6_1.zzbv = ((com.google.android.gms.internal.config.zzal) v4.get(v0_30)).zzo();
                    v6_1.resourceId = ((com.google.android.gms.internal.config.zzal) v4.get(v0_30)).getResourceId();
                    v3_1.add(v6_1);
                }
            }
            int v0_20 = new com.google.android.gms.internal.config.zzax[v3_1.size()];
            v2_1.zzbt = ((com.google.android.gms.internal.config.zzax[]) v3_1.toArray(v0_20));
        }
        int v0_25 = new byte[v2_1.zzah()];
        try {
            com.google.android.gms.internal.config.zzal v1_5 = com.google.android.gms.internal.config.zzaz.zzb(v0_25, 0, v0_25.length);
            v2_1.zza(v1_5);
            v1_5.zzac();
            try {
                com.google.android.gms.internal.config.zzal v1_9 = this.mContext.openFileOutput("persisted_config", 0);
                v1_9.write(v0_25);
                v1_9.close();
            } catch (int v0_27) {
                android.util.Log.e("AsyncPersisterTask", "Could not persist config.", v0_27);
            }
            return;
        } catch (int v0_26) {
            throw new RuntimeException("Serializing to a byte array threw an IOException (should never happen).", v0_26);
        }
    }

Method com.facebook.appevents.AppEventsLogger$PersistedAppSessionInfo.saveAppSessionInformation() calling method android.content.Context.openFileOutput()


    static void saveAppSessionInformation(android.content.Context p7)
    {
        java.io.ObjectOutputStream v1 = 0;
        if (!com.facebook.appevents.AppEventsLogger$PersistedAppSessionInfo.hasChanges) {
            return;
        } else {
            try {
                java.io.ObjectOutputStream v2_0 = new java.io.ObjectOutputStream(new java.io.BufferedOutputStream(p7.openFileOutput("AppEventsLogger.persistedsessioninfo", 0)));
                try {
                    v2_0.writeObject(com.facebook.appevents.AppEventsLogger$PersistedAppSessionInfo.appSessionInfoMap);
                    com.facebook.appevents.AppEventsLogger$PersistedAppSessionInfo.hasChanges = 0;
                    com.facebook.internal.Logger.log(com.facebook.LoggingBehavior.APP_EVENTS, "AppEvents", "App session info saved");
                    try {
                        com.facebook.internal.Utility.closeQuietly(v2_0);
                    } catch (Throwable v3_7) {
                    }
                    return;
                } catch (Throwable v3_6) {
                    v1 = v2_0;
                    com.facebook.internal.Utility.closeQuietly(v1);
                    throw v3_6;
                } catch (Exception v0) {
                    v1 = v2_0;
                    android.util.Log.w(com.facebook.appevents.AppEventsLogger.access$200(), new StringBuilder().append("Got unexpected exception while writing app session info: ").append(v0.toString()).toString());
                    com.facebook.internal.Utility.closeQuietly(v1);
                    return;
                }
            } catch (Throwable v3_6) {
            } catch (Exception v0) {
            }
        }
        throw v3_7;
    }

Method com.facebook.appevents.AppEventStore.saveEventsToDisk() calling method android.content.Context.openFileOutput()


    private static void saveEventsToDisk(com.facebook.appevents.PersistedEvents p7)
    {
        java.io.ObjectOutputStream v2 = 0;
        android.content.Context v0 = com.facebook.FacebookSdk.getApplicationContext();
        try {
            java.io.ObjectOutputStream v3_0 = new java.io.ObjectOutputStream(new java.io.BufferedOutputStream(v0.openFileOutput("AppEventsLogger.persistedevents", 0)));
            try {
                v3_0.writeObject(p7);
                com.facebook.internal.Utility.closeQuietly(v3_0);
            } catch (Exception v4_3) {
                v2 = v3_0;
                com.facebook.internal.Utility.closeQuietly(v2);
                throw v4_3;
            } catch (Exception v1) {
                v2 = v3_0;
                android.util.Log.w(com.facebook.appevents.AppEventStore.TAG, "Got unexpected exception while persisting events: ", v1);
                try {
                    v0.getFileStreamPath("AppEventsLogger.persistedevents").delete();
                } catch (Exception v4) {
                }
                com.facebook.internal.Utility.closeQuietly(v2);
            }
            return;
        } catch (Exception v4_3) {
        } catch (Exception v1) {
        }
    }

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;
        }
    }