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.nokia.maps.et.a() calling method java.io.FileOutputStream.<init>()


    private void a(java.io.File p6, String p7)
    {
        if (!p6.exists()) {
            try {
                p6.createNewFile();
            } catch (java.io.IOException v0_6) {
                v0_6.printStackTrace();
            }
        }
        int v2 = 0;
        try {
            java.io.IOException v1_0 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(new java.io.FileOutputStream(p6, 1), java.nio.charset.Charset.forName("UTF-8")));
            try {
                v1_0.append(p7);
                v1_0.newLine();
            } catch (java.io.IOException v0_2) {
                v0_2.printStackTrace();
                if (v1_0 == null) {
                    return;
                } else {
                    try {
                        v1_0.close();
                    } catch (java.io.IOException v0_4) {
                        v0_4.printStackTrace();
                    }
                    return;
                }
            }
            if (v1_0 == null) {
                return;
            } else {
                try {
                    v1_0.close();
                } catch (java.io.IOException v0_5) {
                    v0_5.printStackTrace();
                }
                return;
            }
        } catch (java.io.IOException v0_3) {
            if (v2 != 0) {
                try {
                    v2.close();
                } catch (java.io.IOException v1_1) {
                    v1_1.printStackTrace();
                }
            }
            throw v0_3;
        } catch (java.io.IOException v0_2) {
            v1_0 = 0;
        } catch (java.io.IOException v0_3) {
            v2 = v1_0;
        }
    }

Method com.nokia.maps.da.b() calling method java.io.FileOutputStream.<init>()


    private static com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode b(String p8, String p9)
    {
        String v4_0 = 0;
        int v3_4 = com.nokia.maps.da.d.iterator();
        while (v3_4.hasNext()) {
            if (((String) v3_4.next()).equals(p8)) {
                com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_1 = com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode.HAS_NO_COVERAGE;
            }
            return v1_1;
        }
        try {
            java.net.HttpURLConnection v2_1 = new java.net.URL(p8).openConnection();
            try {
                com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_15 = ((java.net.HttpURLConnection) v2_1).getResponseCode();
            } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_6) {
                com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_3 = v2_1;
                java.net.HttpURLConnection v2_4 = v1_6;
                if (v1_3 != null) {
                    ((java.net.HttpURLConnection) v1_3).disconnect();
                }
                throw v2_4;
            } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_2) {
                v1_3 = v2_1;
                java.net.HttpURLConnection v2_0 = v1_2;
                try {
                    String v4_5 = new StringBuilder().append("Error while retrieving bitmap from ").append(p8).toString();
                    java.io.InputStream v5_2 = new Object[1];
                    v5_2[0] = v2_0.toString();
                    com.nokia.maps.bp.c(com.nokia.maps.da.a, v4_5, v5_2);
                } catch (java.net.HttpURLConnection v2_4) {
                }
                if (v1_3 != null) {
                    ((java.net.HttpURLConnection) v1_3).disconnect();
                }
                v1_1 = com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode.NETWORK_ERROR;
                return v1_1;
            }
            if (v1_15 == 200) {
                try {
                    java.io.InputStream v5_3 = v2_1.getInputStream();
                    try {
                        int v3_2 = new java.io.FileOutputStream(new java.io.File(p9));
                        try {
                            com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_20 = new byte[1024];
                        } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_16) {
                            v4_0 = v5_3;
                            if (v3_2 != 0) {
                                v3_2.close();
                            }
                            if (v4_0 != null) {
                                v4_0.close();
                            }
                            throw v1_16;
                        }
                        while(true) {
                            String v4_6 = v5_3.read(v1_20);
                            if (v4_6 <= null) {
                                break;
                            }
                            v3_2.write(v1_20, 0, v4_6);
                        }
                        v3_2.flush();
                        Object[] v6_3 = new Object[0];
                        com.nokia.maps.bp.e(com.nokia.maps.da.a, new StringBuilder().append("Success while retrieving bitmap from :").append(p8).toString(), v6_3);
                        v1_1 = com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode.UNKNOWN_COVERAGE;
                        if (v3_2 != 0) {
                            v3_2.close();
                        }
                        if (v5_3 != null) {
                            v5_3.close();
                        }
                        if (v2_1 != null) {
                            ((java.net.HttpURLConnection) v2_1).disconnect();
                        }
                    } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_16) {
                        v3_2 = 0;
                        v4_0 = v5_3;
                    }
                } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_16) {
                    v3_2 = 0;
                }
            } else {
                String v4_17 = new Object[0];
                com.nokia.maps.bp.c(com.nokia.maps.da.a, new StringBuilder().append("Error ").append(v1_15).append(" while retrieving bitmap from ").append(p8).toString(), v4_17);
                com.nokia.maps.da.d.add(p8);
                if (com.nokia.maps.da.d.size() > 128) {
                    com.nokia.maps.da.d.remove(0);
                }
                v1_1 = com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode.HAS_NO_COVERAGE;
                if (v2_1 != null) {
                    ((java.net.HttpURLConnection) v2_1).disconnect();
                }
            }
            return v1_1;
        } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_11) {
            v2_4 = v1_11;
            v1_3 = 0;
        } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_4) {
            v2_0 = v1_4;
            v1_3 = 0;
        }
    }

Method com.nokia.maps.ay.f() calling method java.io.FileOutputStream.<init>()


    private static void f()
    {
        if (com.nokia.maps.ay.d()) {
            java.io.File v3_1 = new java.io.File(com.nokia.maps.MapSettings.b(), "anti-aliasing.ini");
            try {
                String v1_0 = new java.io.FileOutputStream(v3_1);
                try {
                    v1_0.write(1);
                    v1_0.flush();
                } catch (java.io.IOException v0_2) {
                    v0_2.printStackTrace();
                    if (v1_0 != null) {
                        try {
                            v1_0.close();
                        } catch (java.io.IOException v0_7) {
                            v0_7.printStackTrace();
                        }
                        if (!v3_1.setReadOnly()) {
                            throw new java.io.IOException("Failed to set AA settings file read only");
                        }
                    }
                }
                if (v1_0 != null) {
                    try {
                        v1_0.close();
                    } catch (java.io.IOException v0_12) {
                        v0_12.printStackTrace();
                    }
                    if (!v3_1.setReadOnly()) {
                        throw new java.io.IOException("Failed to set AA settings file read only");
                    }
                }
            } catch (java.io.IOException v0_3) {
                v1_0 = 0;
                if (v1_0 != null) {
                    try {
                        v1_0.close();
                    } catch (String v1_5) {
                        v1_5.printStackTrace();
                    }
                    if (!v3_1.setReadOnly()) {
                        throw new java.io.IOException("Failed to set AA settings file read only");
                    }
                }
                throw v0_3;
            } catch (java.io.IOException v0_2) {
                v1_0 = 0;
            } catch (java.io.IOException v0_3) {
            }
        }
        return;
    }

Method com.nokia.maps.SSLCertManager.a() calling method java.io.FileOutputStream.<init>()


    private static boolean a(java.io.File p13, java.io.File p14, boolean p15)
    {
        int v3 = 0;
        Exception v0_0 = 1;
        Exception v1 = 0;
        java.io.File[] v7 = p14.listFiles();
        if (v7 != null) {
            com.nokia.maps.CryptUtils v8 = com.nokia.maps.CryptUtils.getInstance();
            int v9 = v7.length;
            int v6 = 0;
            while (v6 < v9) {
                Exception v2_1 = v7[v6];
                if (v2_1.isFile()) {
                    byte[] v10_1 = new java.io.File(p13, v2_1.getName());
                    if ((p15) || (!v10_1.exists())) {
                        int v4_6 = v8.x509_NAME_HASH(v2_1.getAbsolutePath().getBytes(java.nio.charset.Charset.forName("UTF-8")));
                        if ((v4_6 != 0) && (v4_6.length() != 0)) {
                            int v11_1 = new java.io.File(p13, new StringBuilder().append(v4_6).append(".0").toString());
                            if ((!v11_1.exists()) || (p15)) {
                                try {
                                    int v5_7 = new java.io.FileInputStream(v2_1);
                                    try {
                                        int v4_11 = new java.io.FileOutputStream(v10_1);
                                        try {
                                            Exception v2_3 = new java.io.FileOutputStream(v11_1);
                                            try {
                                                byte[] v10_3 = new byte[1];
                                                v4_11.write(v10_3, 0, 1);
                                                byte[] v10_5 = new byte[4096];
                                            } catch (Exception v0_2) {
                                                v3 = v2_3;
                                                try {
                                                    if (v5_7 == 0) {
                                                        if (v4_11 != 0) {
                                                            v4_11.close();
                                                        }
                                                        if (v3 != 0) {
                                                            v3.close();
                                                        }
                                                    } else {
                                                        v5_7.close();
                                                    }
                                                } catch (Exception v1) {
                                                }
                                                throw v0_2;
                                            } catch (Exception v0) {
                                                Exception v0_1 = v2_3;
                                                Exception v2_0 = v4_11;
                                                int v4_0 = v5_7;
                                                try {
                                                    if (v4_0 != 0) {
                                                        v4_0.close();
                                                    }
                                                    if (v2_0 != null) {
                                                        v2_0.close();
                                                    }
                                                    if (v0_1 != null) {
                                                        v0_1.close();
                                                    }
                                                    v0_0 = 0;
                                                } catch (Exception v0) {
                                                    v0_0 = 0;
                                                }
                                            } catch (Exception v0) {
                                                try {
                                                    if (v5_7 != 0) {
                                                        v5_7.close();
                                                    }
                                                    if (v4_11 != 0) {
                                                        v4_11.close();
                                                    }
                                                    if (v2_3 != null) {
                                                        v2_3.close();
                                                    }
                                                    v0_0 = 0;
                                                } catch (Exception v0) {
                                                    v0_0 = 0;
                                                }
                                            }
                                            while(true) {
                                                int v11_3 = v5_7.read(v10_5);
                                                if (v11_3 <= 0) {
                                                    break;
                                                }
                                                v2_3.write(v10_5, 0, v11_3);
                                            }
                                            try {
                                                if (v5_7 != 0) {
                                                    v5_7.close();
                                                }
                                                if (v4_11 != 0) {
                                                    v4_11.close();
                                                }
                                                if (v2_3 != null) {
                                                    v2_3.close();
                                                }
                                            } catch (Exception v2) {
                                            }
                                        } catch (Exception v0_2) {
                                        } catch (Exception v0) {
                                            v0_1 = 0;
                                            v2_0 = v4_11;
                                            v4_0 = v5_7;
                                        } catch (Exception v0) {
                                            v2_3 = 0;
                                        }
                                    } catch (Exception v0_2) {
                                        v4_11 = 0;
                                    } catch (Exception v0) {
                                        v0_1 = 0;
                                        v2_0 = 0;
                                        v4_0 = v5_7;
                                    } catch (Exception v0) {
                                        v2_3 = 0;
                                        v4_11 = 0;
                                    }
                                } catch (Exception v0_2) {
                                    v4_11 = 0;
                                    v5_7 = 0;
                                } catch (Exception v0) {
                                    v0_1 = 0;
                                    v2_0 = 0;
                                    v4_0 = 0;
                                } catch (Exception v0) {
                                    v2_3 = 0;
                                    v4_11 = 0;
                                    v5_7 = 0;
                                }
                            }
                        }
                    }
                }
                v6++;
            }
            v1 = v0_0;
        }
        return v1;
    }

Method com.nokia.maps.PlacesCategoryGraph.d() calling method java.io.FileOutputStream.<init>()


    private void d(String p7)
    {
        String v1_0 = 0;
        try {
            java.io.IOException v0_13 = new java.io.File(new StringBuilder().append(com.nokia.maps.MapSettings.e()).append(java.io.File.separator).append("places").toString());
        } catch (java.io.IOException v0_18) {
            if (v1_0 != null) {
                try {
                    v1_0.close();
                } catch (String v1_16) {
                    v1_16.printStackTrace();
                }
            }
            throw v0_18;
        } catch (java.io.IOException v0_28) {
            String v2_12 = 0;
            try {
                v0_28.printStackTrace();
            } catch (java.io.IOException v0_18) {
                v1_0 = v2_12;
            }
            if (v2_12 != null) {
                try {
                    v2_12.close();
                } catch (java.io.IOException v0_35) {
                    v0_35.printStackTrace();
                    v2_12 = v1_0;
                    try {
                        this.c.acquire();
                    } catch (java.io.IOException v0_17) {
                        this.c.release();
                        throw v0_17;
                    } catch (java.io.IOException v0_15) {
                        v0_15.printStackTrace();
                        this.c.release();
                        return;
                    } catch (java.io.IOException v0_12) {
                        v0_12.printStackTrace();
                        this.c.release();
                        return;
                    }
                    if ((v2_12 != null) && (v2_12.exists())) {
                        java.io.IOException v0_4 = new java.io.File(new StringBuilder().append(com.nokia.maps.MapSettings.e()).append("/places/CategoryGraphJSON.txt").toString());
                        if ((!v0_4.exists()) || (v0_4.delete())) {
                            if (!v2_12.renameTo(v0_4)) {
                                throw new java.io.IOException(new StringBuilder().append("Failed to rename ").append(v2_12.getName()).toString());
                            }
                        } else {
                            throw new java.io.IOException(new StringBuilder().append("Failed to delete ").append(v0_4.getName()).toString());
                        }
                    }
                    this.c.release();
                    return;
                }
            }
            v2_12 = v1_0;
        }
        if ((v0_13.exists()) || (v0_13.mkdirs())) {
            v2_12 = new java.io.File(new StringBuilder().append(com.nokia.maps.MapSettings.e()).append("/places/tmp.txt").toString());
            if ((!v2_12.exists()) || (v2_12.delete())) {
                String v3_8 = new java.io.OutputStreamWriter(new java.io.FileOutputStream(v2_12), "UTF-8");
                try {
                    v3_8.write(p7);
                } catch (java.io.IOException v0_18) {
                    v1_0 = v3_8;
                } catch (java.io.IOException v0_28) {
                    v1_0 = v2_12;
                    v2_12 = v3_8;
                }
                if (v3_8 == null) {
                } else {
                    try {
                        v3_8.close();
                    } catch (java.io.IOException v0_29) {
                        v0_29.printStackTrace();
                    }
                }
            } else {
                throw new java.io.IOException(new StringBuilder().append("Failed to delete ").append(v2_12.getName()).toString());
            }
        } else {
            throw new java.io.IOException(new StringBuilder().append("Failed to create ").append(v0_13.getName()).toString());
        }
    }

Method com.nokia.maps.ConnectionInfoImpl.a() calling method java.io.FileOutputStream.<init>()


    public static String a(boolean p11)
    {
        java.io.IOException v0_0 = 1;
        java.io.IOException v1_0 = 0;
        try {
            String v5_4 = new java.io.File(com.nokia.maps.MapSettings.c());
        } catch (java.io.IOException v0_3) {
            String v3_0 = 0;
            try {
                if (v3_0 == null) {
                    if (v1_0 != null) {
                        v1_0.close();
                    }
                } else {
                    v3_0.close();
                }
            } catch (java.io.IOException v1_1) {
                v1_1.printStackTrace();
            }
            throw v0_3;
        } catch (java.io.IOException v0_2) {
            java.io.IOException v2_2 = 0;
            v3_0 = 0;
            v0_2.printStackTrace();
            try {
                if (v3_0 != null) {
                    v3_0.close();
                }
            } catch (java.io.IOException v0_4) {
                v0_4.printStackTrace();
                java.io.IOException v0_5 = 0;
                v1_0 = v0_5;
                return v1_0;
            }
            if (v2_2 != null) {
                v2_2.close();
            }
            v0_5 = 0;
        } catch (java.io.IOException v0_3) {
            v1_0 = v2_2;
        }
        if ((v5_4.exists()) || (v5_4.mkdirs())) {
            java.io.IOException v2_4;
            String v5_1 = new java.io.File(com.nokia.maps.MapSettings.h());
            if (!v5_1.exists()) {
                v2_4 = 1;
                v3_0 = 0;
                v0_5 = 0;
            } else {
                if ((!p11) || ((System.currentTimeMillis() - v5_1.lastModified()) >= 604800000)) {
                    java.io.IOException v2_6 = new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(v5_1), "UTF-8"));
                    try {
                        String v3_4 = v2_6.readLine();
                    } catch (java.io.IOException v0_3) {
                        v3_0 = v2_6;
                    } catch (java.io.IOException v0_2) {
                        v3_0 = v2_6;
                        v2_2 = 0;
                    }
                    if ((v3_4 != null) && (v3_4.length() == 36)) {
                        v0_0 = 0;
                    }
                    if (v5_1.delete()) {
                        v0_5 = v3_4;
                        v3_0 = v2_6;
                        v2_4 = v0_0;
                    } else {
                        throw new java.io.IOException("Failed to delete DID file");
                    }
                } else {
                    try {
                        if (0 != 0) {
                            0.close();
                        }
                    } catch (java.io.IOException v0_9) {
                        v0_9.printStackTrace();
                        return v1_0;
                    }
                    if (0 == 0) {
                        return v1_0;
                    } else {
                        0.close();
                        return v1_0;
                    }
                }
            }
            try {
                if (v2_4 != null) {
                    v0_5 = java.util.UUID.randomUUID().toString();
                }
            } catch (java.io.IOException v0_3) {
            } catch (java.io.IOException v0_2) {
                v2_2 = 0;
            }
            v2_2 = new java.io.OutputStreamWriter(new java.io.FileOutputStream(v5_1), "UTF-8");
            try {
                v2_2.write(v0_5);
                try {
                    if (v3_0 != null) {
                        v3_0.close();
                    }
                } catch (java.io.IOException v1_2) {
                    v1_2.printStackTrace();
                }
                if (v2_2 == null) {
                } else {
                    v2_2.close();
                }
            } catch (java.io.IOException v0_2) {
            }
        } else {
            throw new java.io.IOException(new StringBuilder().append("Failed to create").append(v5_4.getName()).toString());
        }
    }

Method com.here.odnp.util.OdnpFileManager.copyData() calling method java.io.FileOutputStream.<init>()


    private static boolean copyData(java.io.File p6, java.io.File p7)
    {
        int v1_0 = 0;
        try {
            int v2_4 = new java.io.BufferedInputStream(new java.io.FileInputStream(p6));
            try {
                Throwable v0_1 = new java.io.BufferedOutputStream(new java.io.FileOutputStream(p7));
                try {
                    com.here.odnp.util.OdnpIOUtils.copy(v2_4, v0_1);
                    Throwable v0_2 = (com.here.odnp.util.OdnpIOUtils.close(v0_1) & (com.here.odnp.util.OdnpIOUtils.close(v2_4) & 1));
                } catch (int v1_5) {
                    v1_0 = v0_2;
                    Throwable v0_3 = v1_5;
                    com.here.odnp.util.OdnpIOUtils.close(v2_4);
                    com.here.odnp.util.OdnpIOUtils.close(v1_0);
                    throw v0_3;
                } catch (int v1) {
                    v1_0 = v2_4;
                    v0_2 = (com.here.odnp.util.OdnpIOUtils.close(v0_2) & (com.here.odnp.util.OdnpIOUtils.close(v1_0) & 0));
                }
                return v0_2;
            } catch (Throwable v0_3) {
            } catch (Throwable v0) {
                v0_2 = 0;
                v1_0 = v2_4;
            }
        } catch (Throwable v0_3) {
            v2_4 = 0;
        } catch (Throwable v0) {
            v0_2 = 0;
        }
    }

Method com.here.odnp.util.OdnpAssetManager.copyAsset() calling method java.io.FileOutputStream.<init>()


    public static boolean copyAsset(android.content.Context p7, com.here.odnp.util.OdnpAssetManager$Asset p8)
    {
        java.io.IOException v0_0 = 1;
        Throwable v1_0 = 0;
        java.io.File v4_1 = new java.io.File(com.here.odnp.util.OdnpFileManager.getPrivateDir(p7), p8.getName());
        if ((!v4_1.exists()) || (p8.getOverwrite())) {
            try {
                java.io.BufferedInputStream v5_1 = new java.io.BufferedInputStream(p7.getAssets().open(p8.getName()));
                boolean v2_3 = v4_1.getParentFile();
            } catch (boolean v2) {
                if (p8.getRequired()) {
                    v0_0 = 0;
                }
            }
            if (v2_3) {
                if ((v2_3.exists()) || (v2_3.mkdirs())) {
                    boolean v3_2 = 0;
                    try {
                        boolean v2_8 = new java.io.BufferedOutputStream(new java.io.FileOutputStream(v4_1));
                        try {
                            com.here.odnp.util.OdnpIOUtils.copy(v5_1, v2_8);
                            java.io.IOException v0_2 = (1 & com.here.odnp.util.OdnpIOUtils.close(v5_1));
                            v1_0 = com.here.odnp.util.OdnpIOUtils.close(v2_8);
                            v0_0 = (v0_2 & v1_0);
                        } catch (Throwable v1_1) {
                            v3_2 = v2_8;
                            com.here.odnp.util.OdnpIOUtils.close(v5_1);
                            com.here.odnp.util.OdnpIOUtils.close(v3_2);
                            throw v1_1;
                        } catch (java.io.IOException v0) {
                            java.io.IOException v0_1 = v2_8;
                            v0_0 = (com.here.odnp.util.OdnpIOUtils.close(v0_1) & (v1_0 & com.here.odnp.util.OdnpIOUtils.close(v5_1)));
                        } catch (java.io.IOException v0) {
                            v3_2 = v2_8;
                            v0_0 = ((com.here.odnp.util.OdnpIOUtils.close(v5_1) & v1_0) & com.here.odnp.util.OdnpIOUtils.close(v3_2));
                        }
                    } catch (Throwable v1_1) {
                    } catch (java.io.IOException v0) {
                        v0_1 = 0;
                    } catch (java.io.IOException v0) {
                    }
                } else {
                    com.here.odnp.util.OdnpIOUtils.close(v5_1);
                    v0_0 = 0;
                }
            } else {
                com.here.odnp.util.OdnpIOUtils.close(v5_1);
                v0_0 = 0;
            }
        }
        return v0_0;
    }

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


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

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


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

Method com.nokia.maps.ay.e() calling method java.io.FileInputStream.<init>()


    private static declared_synchronized void e()
    {
        try {
            if ((com.nokia.maps.ay.d()) && (!com.nokia.maps.MapSettings.a)) {
                java.io.IOException v0_0 = new java.io.File(com.nokia.maps.MapSettings.b(), "anti-aliasing.ini");
                if (v0_0.exists()) {
                    try {
                        java.io.IOException v1_2 = new java.io.FileInputStream(v0_0);
                        try {
                            if (v1_2.read() == 1) {
                                if (!com.nokia.maps.MapSettings.o()) {
                                    com.nokia.maps.MapSettings.a(1);
                                }
                                com.nokia.maps.MapSettings.a = 1;
                            }
                        } catch (java.io.IOException v0_1) {
                            v0_1.printStackTrace();
                            if (v1_2 == null) {
                                return;
                            } else {
                                try {
                                    v1_2.close();
                                } catch (java.io.IOException v0_8) {
                                    v0_8.printStackTrace();
                                }
                                return;
                            }
                        }
                        if (v1_2 != null) {
                            try {
                                v1_2.close();
                            } catch (java.io.IOException v0_9) {
                                v0_9.printStackTrace();
                            }
                        }
                    } catch (java.io.IOException v0_2) {
                        v1_2 = 0;
                        if (v1_2 != null) {
                            try {
                                v1_2.close();
                            } catch (java.io.IOException v1_3) {
                                v1_3.printStackTrace();
                            }
                        }
                        throw v0_2;
                    } catch (java.io.IOException v0_1) {
                        v1_2 = 0;
                    } catch (java.io.IOException v0_2) {
                    }
                }
            }
        } catch (java.io.IOException v0_10) {
            throw v0_10;
        }
        return;
    }

Method com.nokia.maps.SSLCertManager.a() calling method java.io.FileInputStream.<init>()


    private static boolean a(java.io.File p13, java.io.File p14, boolean p15)
    {
        int v3 = 0;
        Exception v0_0 = 1;
        Exception v1 = 0;
        java.io.File[] v7 = p14.listFiles();
        if (v7 != null) {
            com.nokia.maps.CryptUtils v8 = com.nokia.maps.CryptUtils.getInstance();
            int v9 = v7.length;
            int v6 = 0;
            while (v6 < v9) {
                Exception v2_1 = v7[v6];
                if (v2_1.isFile()) {
                    byte[] v10_1 = new java.io.File(p13, v2_1.getName());
                    if ((p15) || (!v10_1.exists())) {
                        int v4_6 = v8.x509_NAME_HASH(v2_1.getAbsolutePath().getBytes(java.nio.charset.Charset.forName("UTF-8")));
                        if ((v4_6 != 0) && (v4_6.length() != 0)) {
                            int v11_1 = new java.io.File(p13, new StringBuilder().append(v4_6).append(".0").toString());
                            if ((!v11_1.exists()) || (p15)) {
                                try {
                                    int v5_7 = new java.io.FileInputStream(v2_1);
                                    try {
                                        int v4_11 = new java.io.FileOutputStream(v10_1);
                                        try {
                                            Exception v2_3 = new java.io.FileOutputStream(v11_1);
                                            try {
                                                byte[] v10_3 = new byte[1];
                                                v4_11.write(v10_3, 0, 1);
                                                byte[] v10_5 = new byte[4096];
                                            } catch (Exception v0_2) {
                                                v3 = v2_3;
                                                try {
                                                    if (v5_7 == 0) {
                                                        if (v4_11 != 0) {
                                                            v4_11.close();
                                                        }
                                                        if (v3 != 0) {
                                                            v3.close();
                                                        }
                                                    } else {
                                                        v5_7.close();
                                                    }
                                                } catch (Exception v1) {
                                                }
                                                throw v0_2;
                                            } catch (Exception v0) {
                                                Exception v0_1 = v2_3;
                                                Exception v2_0 = v4_11;
                                                int v4_0 = v5_7;
                                                try {
                                                    if (v4_0 != 0) {
                                                        v4_0.close();
                                                    }
                                                    if (v2_0 != null) {
                                                        v2_0.close();
                                                    }
                                                    if (v0_1 != null) {
                                                        v0_1.close();
                                                    }
                                                    v0_0 = 0;
                                                } catch (Exception v0) {
                                                    v0_0 = 0;
                                                }
                                            } catch (Exception v0) {
                                                try {
                                                    if (v5_7 != 0) {
                                                        v5_7.close();
                                                    }
                                                    if (v4_11 != 0) {
                                                        v4_11.close();
                                                    }
                                                    if (v2_3 != null) {
                                                        v2_3.close();
                                                    }
                                                    v0_0 = 0;
                                                } catch (Exception v0) {
                                                    v0_0 = 0;
                                                }
                                            }
                                            while(true) {
                                                int v11_3 = v5_7.read(v10_5);
                                                if (v11_3 <= 0) {
                                                    break;
                                                }
                                                v2_3.write(v10_5, 0, v11_3);
                                            }
                                            try {
                                                if (v5_7 != 0) {
                                                    v5_7.close();
                                                }
                                                if (v4_11 != 0) {
                                                    v4_11.close();
                                                }
                                                if (v2_3 != null) {
                                                    v2_3.close();
                                                }
                                            } catch (Exception v2) {
                                            }
                                        } catch (Exception v0_2) {
                                        } catch (Exception v0) {
                                            v0_1 = 0;
                                            v2_0 = v4_11;
                                            v4_0 = v5_7;
                                        } catch (Exception v0) {
                                            v2_3 = 0;
                                        }
                                    } catch (Exception v0_2) {
                                        v4_11 = 0;
                                    } catch (Exception v0) {
                                        v0_1 = 0;
                                        v2_0 = 0;
                                        v4_0 = v5_7;
                                    } catch (Exception v0) {
                                        v2_3 = 0;
                                        v4_11 = 0;
                                    }
                                } catch (Exception v0_2) {
                                    v4_11 = 0;
                                    v5_7 = 0;
                                } catch (Exception v0) {
                                    v0_1 = 0;
                                    v2_0 = 0;
                                    v4_0 = 0;
                                } catch (Exception v0) {
                                    v2_3 = 0;
                                    v4_11 = 0;
                                    v5_7 = 0;
                                }
                            }
                        }
                    }
                }
                v6++;
            }
            v1 = v0_0;
        }
        return v1;
    }

Method com.nokia.maps.PlacesCategoryGraph.f() calling method java.io.FileInputStream.<init>()


    private final void f()
    {
        java.util.concurrent.Semaphore v2 = 0;
        try {
            Object v1_3;
            this.c.acquire();
            Throwable v0_1 = new java.io.File(new StringBuilder().append(com.nokia.maps.MapSettings.e()).append("/places/CategoryGraphJSON.txt").toString());
        } catch (Throwable v0_4) {
            if (v2 != null) {
                try {
                    v2.close();
                } catch (Object v1_7) {
                    v1_7.printStackTrace();
                }
            }
            this.c.release();
            throw v0_4;
        } catch (Throwable v0_3) {
            v1_3 = 0;
            v0_3.printStackTrace();
            if (v1_3 != null) {
                try {
                    v1_3.close();
                } catch (Throwable v0_9) {
                    v0_9.printStackTrace();
                }
            }
            this.c.release();
            if (v2 != null) {
                this.e = v2;
            }
            return;
        } catch (Throwable v0_4) {
            v2 = v1_3;
        }
        if (!v0_1.exists()) {
            v1_3 = 0;
        } else {
            v1_3 = new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(v0_1), "UTF-8"));
            try {
                v2 = ((com.nokia.maps.PlacesCategoryGraph$CategoryGraphData) com.nokia.maps.dz.a().a(v1_3.readLine(), com.nokia.maps.PlacesCategoryGraph$CategoryGraphData));
            } catch (Throwable v0_3) {
            }
        }
        if (v1_3 != null) {
            try {
                v1_3.close();
            } catch (Throwable v0_11) {
                v0_11.printStackTrace();
            }
        }
        this.c.release();
    }

Method com.nokia.maps.MapSettings.v() calling method java.io.FileInputStream.<init>()


    private static String v()
    {
        String v0_1;
        String v0_12 = com.nokia.maps.MapSettings.t();
        if ((!v0_12.exists()) || (!v0_12.canRead())) {
            String v3_2 = new Object[0];
            com.nokia.maps.bp.e(com.nokia.maps.MapSettings.c, "Path override file does not exist or cannot be read.", v3_2);
            v0_1 = 0;
        } else {
            try {
                String v3_5 = new java.io.FileInputStream(v0_12);
                try {
                    String v2_4 = new java.io.BufferedReader(new java.io.InputStreamReader(v3_5, java.nio.charset.Charset.forName("UTF-8")));
                    try {
                        v0_1 = v2_4.readLine();
                        Object[] v4_6 = new java.io.File(new StringBuilder().append(com.nokia.maps.MapSettings.b(v0_1, java.io.File.separator)).append(java.io.File.separator).append(".here-maps").toString());
                    } catch (String v0_9) {
                        String v6_7 = new Object[1];
                        v6_7[0] = com.nokia.maps.bp.a(v0_9);
                        com.nokia.maps.bp.b(com.nokia.maps.MapSettings.c, "File not found \n%s", v6_7);
                        try {
                            if (v2_4 == null) {
                                if (v3_5 != null) {
                                    v3_5.close();
                                }
                            } else {
                                v2_4.close();
                            }
                        } catch (String v0_3) {
                            Object[] v4_0 = new Object[1];
                            v4_0[0] = com.nokia.maps.bp.a(v0_3);
                            com.nokia.maps.bp.c(com.nokia.maps.MapSettings.c, "IOException \n%s", v4_0);
                            v0_1 = 0;
                        }
                        v0_1 = 0;
                    } catch (String v0_8) {
                        String v6_5 = new Object[1];
                        v6_5[0] = com.nokia.maps.bp.a(v0_8);
                        com.nokia.maps.bp.b(com.nokia.maps.MapSettings.c, "IOException \n%s", v6_5);
                        try {
                            if (v2_4 == null) {
                                if (v3_5 != null) {
                                    v3_5.close();
                                }
                            } else {
                                v2_4.close();
                            }
                        } catch (String v0_15) {
                            Object[] v4_10 = new Object[1];
                            v4_10[0] = com.nokia.maps.bp.a(v0_15);
                            com.nokia.maps.bp.c(com.nokia.maps.MapSettings.c, "IOException \n%s", v4_10);
                            v0_1 = 0;
                        }
                        v0_1 = 0;
                    }
                    if ((!v4_6.exists()) && (!v4_6.mkdirs())) {
                        Object[] v5_8 = new Object[0];
                        com.nokia.maps.bp.b(com.nokia.maps.MapSettings.c, "Could not create dir at override path location.", v5_8);
                        v0_1 = 0;
                    }
                    try {
                        if (v2_4 == null) {
                            if (v3_5 != null) {
                                v3_5.close();
                            }
                        } else {
                            v2_4.close();
                        }
                    } catch (String v0_6) {
                        Object[] v4_2 = new Object[1];
                        v4_2[0] = com.nokia.maps.bp.a(v0_6);
                        com.nokia.maps.bp.c(com.nokia.maps.MapSettings.c, "IOException \n%s", v4_2);
                        v0_1 = 0;
                    }
                } catch (String v0_5) {
                    v2_4 = 0;
                    try {
                        if (v2_4 == null) {
                            if (v3_5 != null) {
                                v3_5.close();
                            }
                        } else {
                            v2_4.close();
                        }
                    } catch (String v1_1) {
                        Object[] v4_1 = new Object[1];
                        v4_1[0] = com.nokia.maps.bp.a(v1_1);
                        com.nokia.maps.bp.c(com.nokia.maps.MapSettings.c, "IOException \n%s", v4_1);
                    }
                    throw v0_5;
                } catch (String v0_9) {
                    v2_4 = 0;
                } catch (String v0_8) {
                    v2_4 = 0;
                }
            } catch (String v0_5) {
                v2_4 = 0;
                v3_5 = 0;
            } catch (String v0_9) {
                v2_4 = 0;
                v3_5 = 0;
            } catch (String v0_8) {
                v2_4 = 0;
                v3_5 = 0;
            } catch (String v0_5) {
            }
        }
        return v0_1;
    }

Method com.nokia.maps.ConnectionInfoImpl.a() calling method java.io.FileInputStream.<init>()


    public static String a(boolean p11)
    {
        java.io.IOException v0_0 = 1;
        java.io.IOException v1_0 = 0;
        try {
            String v5_4 = new java.io.File(com.nokia.maps.MapSettings.c());
        } catch (java.io.IOException v0_3) {
            String v3_0 = 0;
            try {
                if (v3_0 == null) {
                    if (v1_0 != null) {
                        v1_0.close();
                    }
                } else {
                    v3_0.close();
                }
            } catch (java.io.IOException v1_1) {
                v1_1.printStackTrace();
            }
            throw v0_3;
        } catch (java.io.IOException v0_2) {
            java.io.IOException v2_2 = 0;
            v3_0 = 0;
            v0_2.printStackTrace();
            try {
                if (v3_0 != null) {
                    v3_0.close();
                }
            } catch (java.io.IOException v0_4) {
                v0_4.printStackTrace();
                java.io.IOException v0_5 = 0;
                v1_0 = v0_5;
                return v1_0;
            }
            if (v2_2 != null) {
                v2_2.close();
            }
            v0_5 = 0;
        } catch (java.io.IOException v0_3) {
            v1_0 = v2_2;
        }
        if ((v5_4.exists()) || (v5_4.mkdirs())) {
            java.io.IOException v2_4;
            String v5_1 = new java.io.File(com.nokia.maps.MapSettings.h());
            if (!v5_1.exists()) {
                v2_4 = 1;
                v3_0 = 0;
                v0_5 = 0;
            } else {
                if ((!p11) || ((System.currentTimeMillis() - v5_1.lastModified()) >= 604800000)) {
                    java.io.IOException v2_6 = new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(v5_1), "UTF-8"));
                    try {
                        String v3_4 = v2_6.readLine();
                    } catch (java.io.IOException v0_3) {
                        v3_0 = v2_6;
                    } catch (java.io.IOException v0_2) {
                        v3_0 = v2_6;
                        v2_2 = 0;
                    }
                    if ((v3_4 != null) && (v3_4.length() == 36)) {
                        v0_0 = 0;
                    }
                    if (v5_1.delete()) {
                        v0_5 = v3_4;
                        v3_0 = v2_6;
                        v2_4 = v0_0;
                    } else {
                        throw new java.io.IOException("Failed to delete DID file");
                    }
                } else {
                    try {
                        if (0 != 0) {
                            0.close();
                        }
                    } catch (java.io.IOException v0_9) {
                        v0_9.printStackTrace();
                        return v1_0;
                    }
                    if (0 == 0) {
                        return v1_0;
                    } else {
                        0.close();
                        return v1_0;
                    }
                }
            }
            try {
                if (v2_4 != null) {
                    v0_5 = java.util.UUID.randomUUID().toString();
                }
            } catch (java.io.IOException v0_3) {
            } catch (java.io.IOException v0_2) {
                v2_2 = 0;
            }
            v2_2 = new java.io.OutputStreamWriter(new java.io.FileOutputStream(v5_1), "UTF-8");
            try {
                v2_2.write(v0_5);
                try {
                    if (v3_0 != null) {
                        v3_0.close();
                    }
                } catch (java.io.IOException v1_2) {
                    v1_2.printStackTrace();
                }
                if (v2_2 == null) {
                } else {
                    v2_2.close();
                }
            } catch (java.io.IOException v0_2) {
            }
        } else {
            throw new java.io.IOException(new StringBuilder().append("Failed to create").append(v5_4.getName()).toString());
        }
    }

Method com.here.services.playback.internal.util.PlaybackReader.initializeParser() calling method java.io.FileInputStream.<init>()


    private void initializeParser()
    {
        try {
            this.mParser.setInput(new java.io.InputStreamReader(new java.io.FileInputStream(this.mPlaybackFile), java.nio.charset.Charset.defaultCharset()));
        } catch (Exception v0_2) {
            this.onFileNotFound();
            throw v0_2;
        } catch (Exception v0_1) {
            throw v0_1;
        } catch (Exception v0) {
        }
        return;
    }

Method com.here.odnp.util.OdnpFileManager.copyData() calling method java.io.FileInputStream.<init>()


    private static boolean copyData(java.io.File p6, java.io.File p7)
    {
        int v1_0 = 0;
        try {
            int v2_4 = new java.io.BufferedInputStream(new java.io.FileInputStream(p6));
            try {
                Throwable v0_1 = new java.io.BufferedOutputStream(new java.io.FileOutputStream(p7));
                try {
                    com.here.odnp.util.OdnpIOUtils.copy(v2_4, v0_1);
                    Throwable v0_2 = (com.here.odnp.util.OdnpIOUtils.close(v0_1) & (com.here.odnp.util.OdnpIOUtils.close(v2_4) & 1));
                } catch (int v1_5) {
                    v1_0 = v0_2;
                    Throwable v0_3 = v1_5;
                    com.here.odnp.util.OdnpIOUtils.close(v2_4);
                    com.here.odnp.util.OdnpIOUtils.close(v1_0);
                    throw v0_3;
                } catch (int v1) {
                    v1_0 = v2_4;
                    v0_2 = (com.here.odnp.util.OdnpIOUtils.close(v0_2) & (com.here.odnp.util.OdnpIOUtils.close(v1_0) & 0));
                }
                return v0_2;
            } catch (Throwable v0_3) {
            } catch (Throwable v0) {
                v0_2 = 0;
                v1_0 = v2_4;
            }
        } catch (Throwable v0_3) {
            v2_4 = 0;
        } catch (Throwable v0) {
            v0_2 = 0;
        }
    }

Method com.here.network.NetworkSSLContextFactory.loadCertificate() calling method java.io.FileInputStream.<init>()


    private java.security.cert.Certificate loadCertificate(java.io.File p7)
    {
        int v2_3;
        if (!p7.exists()) {
            android.util.Log.e("NetworkSSLContextFactory", new StringBuilder().append("certificate file ").append(p7.getName()).append("does not exist").toString());
            v2_3 = 0;
        } else {
            try {
                StringBuilder v4_3 = new java.io.BufferedInputStream(new java.io.FileInputStream(p7));
                v2_3 = this.m_certificateFactory.generateCertificate(v4_3);
            } catch (java.security.cert.X509Certificate v1_5) {
                android.util.Log.e("NetworkSSLContextFactory", new StringBuilder().append("Load certificate failed ").append(v1_5).toString());
                v2_3 = 0;
            }
            if ((v2_3 instanceof java.security.cert.X509Certificate)) {
            }
            v4_3.close();
        }
        return v2_3;
    }

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 mono.MonoPackageManager.LoadApplication() calling method java.io.File.<init>()


    public static void LoadApplication(android.content.Context p11, android.content.pm.ApplicationInfo p12, String[] p13)
    {
        try {
            if ((p11 instanceof android.app.Application)) {
                mono.MonoPackageManager.Context = p11;
            }
        } catch (int v0_2) {
            throw v0_2;
        }
        if (!mono.MonoPackageManager.initialized) {
            p11.registerReceiver(new mono.android.app.NotifyTimeZoneChanges(), new android.content.IntentFilter("android.intent.action.TIMEZONE_CHANGED"));
            System.loadLibrary("monodroid");
            int v0_4 = java.util.Locale.getDefault();
            int v0_7 = new StringBuilder().append(v0_4.getLanguage()).append("-").append(v0_4.getCountry()).toString();
            String[] v1_7 = p11.getFilesDir().getAbsolutePath();
            String[] v5_0 = p11.getCacheDir().getAbsolutePath();
            String[] v6_0 = mono.MonoPackageManager.getNativeLibraryPath(p11);
            ClassLoader v4 = p11.getClassLoader();
            String v2_3 = android.os.Environment.getExternalStorageDirectory();
            String v7_6 = new java.io.File(v2_3, new StringBuilder().append("Android/data/").append(p11.getPackageName()).append("/files/.__override__").toString()).getAbsolutePath();
            String v9_9 = new java.io.File(v2_3, new StringBuilder().append("../legacy/Android/data/").append(p11.getPackageName()).append("/files/.__override__").toString()).getAbsolutePath();
            String v2_4 = mono.MonoPackageManager.getNativeLibraryPath(p12);
            String[] v3_5 = new String[3];
            v3_5[0] = v1_7;
            v3_5[1] = v5_0;
            v3_5[2] = v6_0;
            String[] v5_1 = new String[2];
            v5_1[0] = v7_6;
            v5_1[1] = v9_9;
            mono.android.Runtime.init(v0_7, p13, v2_4, v3_5, v4, v5_1, mono.MonoPackageManager_Resources.Assemblies, p11.getPackageName());
            mono.android.app.ApplicationRegistration.registerApplications();
            mono.MonoPackageManager.initialized = 1;
        }
        return;
    }

Method com.nokia.maps.nlp.NlpResourceManager.a() calling method java.io.File.<init>()


    private static boolean a(android.content.Context p4, String p5)
    {
        boolean v0 = 0;
        String v1_4 = new java.io.File(p5);
        if ((v1_4.exists()) || (v1_4.mkdirs())) {
            if (com.nokia.maps.bk.a("NlpResourcePkg").booleanValue()) {
                v0 = ark>com.nokia.maps.nlp.NlpResourceManagerark>.deployToDisk(p5, 0);
            } else {
                android.util.Log.e("here_nlp", "*** Error: NlpResourcePkg is ABSENT!!!");
            }
        } else {
            android.util.Log.e("here_nlp", new StringBuilder().append("*** Error: ").append(p5).append(" cannot be accessed").toString());
        }
        return v0;
    }

Method com.nokia.maps.nlp.NlpResourceManager.a() calling method java.io.File.<init>()


    public static boolean a(android.content.Context p2)
    {
        return ark>com.nokia.maps.nlp.NlpResourceManagerark>.a(p2, new java.io.File(com.nokia.maps.nlp.c.b()).getAbsolutePath());
    }

Method com.nokia.maps.et.d() calling method java.io.File.<init>()


    private void d()
    {
        android.content.Context v3_0 = this.getStreetLevelModel();
        if (v3_0 != null) {
            android.content.Intent v2_21 = v3_0.getStreetLevel();
            if (v2_21 != null) {
                String v4_30 = v2_21.getPosition();
                if (v4_30 != null) {
                    String v6_0 = com.nokia.maps.PanoramaImpl.a(v2_21).getId();
                    if (v6_0 > 0) {
                        android.content.Context v3_4;
                        String v5_0 = com.nokia.maps.ApplicationContext.b();
                        String v6_13 = String.valueOf(v6_0);
                        double v8_1 = ((double) (((1119092736 - v3_0.getHeading()) + 1135869952) % 1135869952));
                        double v10 = ((double) (1119092736 - v3_0.getPitch()));
                        android.content.Intent v2_22 = new android.graphics.PointF((((float) v3_0.getWidth()) / 1073741824), 0);
                        java.io.File v7_10 = new android.graphics.PointF((((float) v3_0.getWidth()) / 1073741824), ((float) v3_0.getHeight()));
                        double v12_7 = new android.graphics.PointF(0, (((float) v3_0.getHeight()) / 1073741824));
                        android.graphics.PointF v13_5 = new android.graphics.PointF(((float) v3_0.getWidth()), (((float) v3_0.getHeight()) / 1073741824));
                        new java.util.ArrayList();
                        double v14_8 = ((double) Math.abs((((Float) v3_0.toCameraOrientation(v2_22).get(1)).floatValue() - ((Float) v3_0.toCameraOrientation(v7_10).get(1)).floatValue())));
                        double v12_0 = ((double) Math.abs((((Float) v3_0.toCameraOrientation(v13_5).get(0)).floatValue() - ((Float) v3_0.toCameraOrientation(v12_7).get(0)).floatValue())));
                        java.io.File v7_1 = new java.io.File(com.nokia.maps.MapSettings.i());
                        android.content.Intent v2_8 = 0;
                        if (!v7_1.exists()) {
                            v3_4 = new StringBuilder(com.nokia.maps.MapsEngine.p());
                        } else {
                            v3_4 = new StringBuilder(com.nokia.maps.MapsEngine.q());
                            v2_8 = 1;
                        }
                        v3_4.append("panoramaid").append("=").append(v6_13).append("&");
                        v3_4.append("latitude").append("=").append(String.valueOf(v4_30.getLatitude())).append("&");
                        v3_4.append("longitude").append("=").append(String.valueOf(v4_30.getLongitude())).append("&");
                        v3_4.append("azimuth").append("=").append(String.valueOf(v8_1)).append("&");
                        v3_4.append("polar").append("=").append(String.valueOf(v10)).append("&");
                        v3_4.append("width").append("=").append(String.valueOf(v12_0)).append("&");
                        v3_4.append("height").append("=").append(String.valueOf(v14_8)).append("&");
                        v3_4.append("app_id").append("=").append(v5_0.getAppId()).append("&");
                        v3_4.append("app_code").append("=").append(v5_0.getAppToken()).append("&");
                        v3_4.append("lang").append("=").append(java.util.Locale.getDefault().getLanguage().toUpperCase());
                        if (v2_8 != null) {
                            this.a(v7_1, v3_4.toString());
                        }
                        android.content.Intent v2_17 = new android.content.Intent("android.intent.action.VIEW", android.net.Uri.parse(v3_4.toString()));
                        v2_17.addFlags(268435456);
                        this.getContext().startActivity(v2_17);
                    }
                }
            }
        }
        return;
    }

Method com.nokia.maps.da.b() calling method java.io.File.<init>()


    private static com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode b(String p8, String p9)
    {
        String v4_0 = 0;
        int v3_4 = com.nokia.maps.da.d.iterator();
        while (v3_4.hasNext()) {
            if (((String) v3_4.next()).equals(p8)) {
                com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_1 = com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode.HAS_NO_COVERAGE;
            }
            return v1_1;
        }
        try {
            java.net.HttpURLConnection v2_1 = new java.net.URL(p8).openConnection();
            try {
                com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_15 = ((java.net.HttpURLConnection) v2_1).getResponseCode();
            } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_6) {
                com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_3 = v2_1;
                java.net.HttpURLConnection v2_4 = v1_6;
                if (v1_3 != null) {
                    ((java.net.HttpURLConnection) v1_3).disconnect();
                }
                throw v2_4;
            } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_2) {
                v1_3 = v2_1;
                java.net.HttpURLConnection v2_0 = v1_2;
                try {
                    String v4_5 = new StringBuilder().append("Error while retrieving bitmap from ").append(p8).toString();
                    java.io.InputStream v5_2 = new Object[1];
                    v5_2[0] = v2_0.toString();
                    com.nokia.maps.bp.c(com.nokia.maps.da.a, v4_5, v5_2);
                } catch (java.net.HttpURLConnection v2_4) {
                }
                if (v1_3 != null) {
                    ((java.net.HttpURLConnection) v1_3).disconnect();
                }
                v1_1 = com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode.NETWORK_ERROR;
                return v1_1;
            }
            if (v1_15 == 200) {
                try {
                    java.io.InputStream v5_3 = v2_1.getInputStream();
                    try {
                        int v3_2 = new java.io.FileOutputStream(new java.io.File(p9));
                        try {
                            com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_20 = new byte[1024];
                        } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_16) {
                            v4_0 = v5_3;
                            if (v3_2 != 0) {
                                v3_2.close();
                            }
                            if (v4_0 != null) {
                                v4_0.close();
                            }
                            throw v1_16;
                        }
                        while(true) {
                            String v4_6 = v5_3.read(v1_20);
                            if (v4_6 <= null) {
                                break;
                            }
                            v3_2.write(v1_20, 0, v4_6);
                        }
                        v3_2.flush();
                        Object[] v6_3 = new Object[0];
                        com.nokia.maps.bp.e(com.nokia.maps.da.a, new StringBuilder().append("Success while retrieving bitmap from :").append(p8).toString(), v6_3);
                        v1_1 = com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode.UNKNOWN_COVERAGE;
                        if (v3_2 != 0) {
                            v3_2.close();
                        }
                        if (v5_3 != null) {
                            v5_3.close();
                        }
                        if (v2_1 != null) {
                            ((java.net.HttpURLConnection) v2_1).disconnect();
                        }
                    } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_16) {
                        v3_2 = 0;
                        v4_0 = v5_3;
                    }
                } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_16) {
                    v3_2 = 0;
                }
            } else {
                String v4_17 = new Object[0];
                com.nokia.maps.bp.c(com.nokia.maps.da.a, new StringBuilder().append("Error ").append(v1_15).append(" while retrieving bitmap from ").append(p8).toString(), v4_17);
                com.nokia.maps.da.d.add(p8);
                if (com.nokia.maps.da.d.size() > 128) {
                    com.nokia.maps.da.d.remove(0);
                }
                v1_1 = com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode.HAS_NO_COVERAGE;
                if (v2_1 != null) {
                    ((java.net.HttpURLConnection) v2_1).disconnect();
                }
            }
            return v1_1;
        } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_11) {
            v2_4 = v1_11;
            v1_3 = 0;
        } catch (com.here.android.mpa.streetlevel.StreetLevelCoverage$ResultCode v1_4) {
            v2_0 = v1_4;
            v1_3 = 0;
        }
    }

Method com.nokia.maps.bs.c() calling method java.io.File.<init>()


    public Boolean c(String p5)
    {
        Object[] v2_1 = new Object[1];
        v2_1[0] = p5;
        com.nokia.maps.bp.e(com.nokia.maps.bs.a, "delete : filePath:", v2_1);
        return Boolean.valueOf(new java.io.File(p5).delete());
    }

Method com.nokia.maps.bs.b() calling method java.io.File.<init>()


    public Boolean b(String p5)
    {
        Object[] v2_1 = new Object[1];
        v2_1[0] = p5;
        com.nokia.maps.bp.e(com.nokia.maps.bs.a, "fileExisted : filePath:", v2_1);
        return Boolean.valueOf(new java.io.File(p5).exists());
    }

Method com.nokia.maps.bs.a() calling method java.io.File.<init>()


    public Boolean a(String p4, String p5)
    {
        Object[] v2_1 = new Object[0];
        com.nokia.maps.bp.e(ark>com.nokia.maps.bsark>.a, new StringBuilder().append("renameTo : fromFilePath:").append(p4).append(" toFilePath:").append(p5).toString(), v2_1);
        return Boolean.valueOf(new java.io.File(p4).renameTo(new java.io.File(p5)));
    }

Method com.nokia.maps.bs.a() calling method java.io.File.<init>()


    public Boolean a(String p4)
    {
        java.io.File v1_1 = new java.io.File(p4);
        Boolean v0_1 = Boolean.valueOf(v1_1.exists());
        if (!v0_1.booleanValue()) {
            v0_1 = Boolean.valueOf(v1_1.mkdir());
        }
        return v0_1;
    }

Method com.nokia.maps.bk.a() calling method java.io.File.<init>()


    static boolean a(android.content.Context p7)
    {
        if (ark>com.nokia.maps.bkark>.a == null) {
            if (ark>com.nokia.maps.bkark>.a == null) {
                ark>com.nokia.maps.bkark>.a = "gnustl_shared";
                java.io.File[] v2_4 = new java.io.File(new StringBuilder().append(p7.getApplicationInfo().dataDir).append("/lib").toString());
                if ((v2_4.exists()) && (v2_4.isDirectory())) {
                    java.io.File[] v2_5 = v2_4.listFiles();
                    String v0_8 = new StringBuilder("lib");
                    v0_8.append("gnustl_shared");
                    v0_8.append(".so");
                    String v3_3 = v0_8.toString();
                    if (v2_5 != null) {
                        String v0_9 = 0;
                        while (v0_9 < v2_5.length) {
                            int v5_0 = v2_5[v0_9];
                            if ((!v5_0.isFile()) || (v5_0.getName().compareTo(v3_3) != 0)) {
                                v0_9++;
                            } else {
                                ark>com.nokia.maps.bkark>.a = "gnustl_shared";
                                break;
                            }
                        }
                    }
                }
            }
        }
        return ark>com.nokia.maps.bkark>.a(ark>com.nokia.maps.bkark>.a).booleanValue();
    }

Method com.nokia.maps.ay.f() calling method java.io.File.<init>()


    private static void f()
    {
        if (com.nokia.maps.ay.d()) {
            java.io.File v3_1 = new java.io.File(com.nokia.maps.MapSettings.b(), "anti-aliasing.ini");
            try {
                String v1_0 = new java.io.FileOutputStream(v3_1);
                try {
                    v1_0.write(1);
                    v1_0.flush();
                } catch (java.io.IOException v0_2) {
                    v0_2.printStackTrace();
                    if (v1_0 != null) {
                        try {
                            v1_0.close();
                        } catch (java.io.IOException v0_7) {
                            v0_7.printStackTrace();
                        }
                        if (!v3_1.setReadOnly()) {
                            throw new java.io.IOException("Failed to set AA settings file read only");
                        }
                    }
                }
                if (v1_0 != null) {
                    try {
                        v1_0.close();
                    } catch (java.io.IOException v0_12) {
                        v0_12.printStackTrace();
                    }
                    if (!v3_1.setReadOnly()) {
                        throw new java.io.IOException("Failed to set AA settings file read only");
                    }
                }
            } catch (java.io.IOException v0_3) {
                v1_0 = 0;
                if (v1_0 != null) {
                    try {
                        v1_0.close();
                    } catch (String v1_5) {
                        v1_5.printStackTrace();
                    }
                    if (!v3_1.setReadOnly()) {
                        throw new java.io.IOException("Failed to set AA settings file read only");
                    }
                }
                throw v0_3;
            } catch (java.io.IOException v0_2) {
                v1_0 = 0;
            } catch (java.io.IOException v0_3) {
            }
        }
        return;
    }

Method com.nokia.maps.ay.e() calling method java.io.File.<init>()


    private static declared_synchronized void e()
    {
        try {
            if ((com.nokia.maps.ay.d()) && (!com.nokia.maps.MapSettings.a)) {
                java.io.IOException v0_0 = new java.io.File(com.nokia.maps.MapSettings.b(), "anti-aliasing.ini");
                if (v0_0.exists()) {
                    try {
                        java.io.IOException v1_2 = new java.io.FileInputStream(v0_0);
                        try {
                            if (v1_2.read() == 1) {
                                if (!com.nokia.maps.MapSettings.o()) {
                                    com.nokia.maps.MapSettings.a(1);
                                }
                                com.nokia.maps.MapSettings.a = 1;
                            }
                        } catch (java.io.IOException v0_1) {
                            v0_1.printStackTrace();
                            if (v1_2 == null) {
                                return;
                            } else {
                                try {
                                    v1_2.close();
                                } catch (java.io.IOException v0_8) {
                                    v0_8.printStackTrace();
                                }
                                return;
                            }
                        }
                        if (v1_2 != null) {
                            try {
                                v1_2.close();
                            } catch (java.io.IOException v0_9) {
                                v0_9.printStackTrace();
                            }
                        }
                    } catch (java.io.IOException v0_2) {
                        v1_2 = 0;
                        if (v1_2 != null) {
                            try {
                                v1_2.close();
                            } catch (java.io.IOException v1_3) {
                                v1_3.printStackTrace();
                            }
                        }
                        throw v0_2;
                    } catch (java.io.IOException v0_1) {
                        v1_2 = 0;
                    } catch (java.io.IOException v0_2) {
                    }
                }
            }
        } catch (java.io.IOException v0_10) {
            throw v0_10;
        }
        return;
    }

Method com.nokia.maps.VoiceSkinImpl.b() calling method java.io.File.<init>()


    public boolean b()
    {
        boolean v0_0 = 0;
        java.io.File v1_2 = this.getLocalDirectory();
        if (v1_2.length() > 0) {
            v0_0 = com.nokia.maps.VoiceSkinImpl.a(new java.io.File(v1_2.substring(0, v1_2.lastIndexOf("/"))));
        }
        return v0_0;
    }

Method com.nokia.maps.VoiceSkinImpl.a() calling method java.io.File.<init>()


    private static boolean a(java.io.File p6)
    {
        boolean v0 = 0;
        if (p6 != null) {
            if (p6.exists()) {
                if (p6.isDirectory()) {
                    boolean v2_6 = p6.listFiles();
                    if (v2_6) {
                        int v1_0 = 0;
                        while ((v1_0 < v2_6.length) && (ark>com.nokia.maps.VoiceSkinImplark>.a(v2_6[v1_0]))) {
                            v1_0++;
                        }
                    }
                }
                int v1_3 = new java.io.File(new StringBuilder().append(p6.getAbsolutePath()).append(System.currentTimeMillis()).toString());
                if (p6.renameTo(v1_3)) {
                    v0 = v1_3.delete();
                }
            } else {
                v0 = 1;
            }
        }
        return v0;
    }

Method com.nokia.maps.VoiceCatalogImpl.a() calling method java.io.File.<init>()


    public declared_synchronized boolean a(com.here.android.mpa.guidance.VoiceCatalog$OnDownloadDoneListener p4)
    {
        boolean v0_0 = 0;
        try {
            this.g = p4;
            boolean v1_1 = com.nokia.maps.MapSettings.f();
        } catch (boolean v0_1) {
            throw v0_1;
        }
        if (v1_1) {
            java.io.File v2_1 = new java.io.File(v1_1);
            if ((v2_1.exists()) || (v2_1.mkdirs())) {
                v0_0 = this.downloadCatalogNative();
                this.f();
            }
        }
        return v0_0;
    }

Method com.nokia.maps.VoiceCatalogImpl.a() calling method java.io.File.<init>()


    public declared_synchronized boolean a(long p8, com.here.android.mpa.guidance.VoiceCatalog$OnDownloadDoneListener p10)
    {
        try {
            int v0_8;
            com.here.android.mpa.guidance.VoiceCatalog$Error v2_0 = com.nokia.maps.MapSettings.f();
        } catch (int v0_10) {
            throw v0_10;
        }
        if (v2_0 != null) {
            this.h = p10;
            int v3_1 = this.c().iterator();
            while (v3_1.hasNext()) {
                int v0_2 = ((com.here.android.mpa.guidance.VoicePackage) v3_1.next());
                if (v0_2.getId() == p8) {
                    if (ark>com.nokia.maps.VoiceCatalogImplark>.a(((long) (v0_2.getContentSize() * 1233125376)), new java.io.File(v2_0))) {
                        break;
                    }
                    this.h.onDownloadDone(com.here.android.mpa.guidance.VoiceCatalog$Error.NOT_ENOUGH_DISK_SPACE);
                    v0_8 = 0;
                    return v0_8;
                }
            }
            v0_8 = this.downloadVoiceNative(p8);
            this.f();
        } else {
            v0_8 = 0;
        }
        return v0_8;
    }

Method com.nokia.maps.SupplementaryResourceManager.a() calling method java.io.File.<init>()


    static boolean a(android.content.Context p13, String p14)
    {
        int v2_0;
        int v2_1 = new Object[0];
        com.nokia.maps.bp.a(ark>com.nokia.maps.SupplementaryResourceManagerark>.a, new StringBuilder().append("DestDir=").append(p14).toString(), v2_1);
        int v0_1 = new java.io.File(p14);
        if ((v0_1.exists()) || (v0_1.mkdirs())) {
            String[] v5 = ark>com.nokia.maps.SupplementaryResourceManagerark>.b;
            int v6 = v5.length;
            int v4 = 0;
            v2_0 = 0;
            while (v4 < v6) {
                int v0_9;
                int v0_3 = v5[v4];
                if (com.nokia.maps.bk.a(v0_3).booleanValue()) {
                    String v7_0 = new Object[1];
                    v7_0[0] = v0_3;
                    Boolean v1_6 = String.format("deploy%sToDisk", v7_0);
                    try {
                        String v7_2 = new Class[2];
                        v7_2[0] = String;
                        v7_2[1] = Boolean.TYPE;
                        int v0_6 = ark>com.nokia.maps.SupplementaryResourceManagerark>.getDeclaredMethod(v1_6, v7_2);
                    } catch (int v0_7) {
                        Object[] v9_2 = new Object[2];
                        v9_2[0] = v1_6;
                        v9_2[1] = v0_7.getLocalizedMessage();
                        com.nokia.maps.bp.c(ark>com.nokia.maps.SupplementaryResourceManagerark>.a, "Unable to find method: %s.  Exception: %s", v9_2);
                        v0_9 = v2_0;
                    }
                    if (v0_6 != 0) {
                        try {
                            String v8_4 = new Object[2];
                            v8_4[0] = p14;
                            v8_4[1] = Boolean.valueOf(1);
                            Boolean v1_9 = v0_6.invoke(0, v8_4);
                        } catch (int v0_12) {
                            Object[] v9_5 = new Object[2];
                            v9_5[0] = v1_9;
                            v9_5[1] = v0_12.getLocalizedMessage();
                            com.nokia.maps.bp.c(ark>com.nokia.maps.SupplementaryResourceManagerark>.a, "Unable to invoke method: %s.  Exception: %s", v9_5);
                            v0_9 = v2_0;
                            v4++;
                            v2_0 = v0_9;
                        }
                        if (((Boolean) v1_9) != null) {
                            v0_9 = (((Boolean) v1_9).booleanValue() | v2_0);
                        }
                    }
                    v0_9 = v2_0;
                } else {
                    String v8_6 = new Object[1];
                    v8_6[0] = v0_3;
                    com.nokia.maps.bp.b(ark>com.nokia.maps.SupplementaryResourceManagerark>.a, "Library %s failed to load.", v8_6);
                    v0_9 = v2_0;
                }
            }
        } else {
            v2_0 = 0;
        }
        return v2_0;
    }

Method com.nokia.maps.SSLCertManager.a() calling method java.io.File.<init>()


    private static boolean a(java.io.File p13, java.io.File p14, boolean p15)
    {
        int v3 = 0;
        Exception v0_0 = 1;
        Exception v1 = 0;
        java.io.File[] v7 = p14.listFiles();
        if (v7 != null) {
            com.nokia.maps.CryptUtils v8 = com.nokia.maps.CryptUtils.getInstance();
            int v9 = v7.length;
            int v6 = 0;
            while (v6 < v9) {
                Exception v2_1 = v7[v6];
                if (v2_1.isFile()) {
                    byte[] v10_1 = new java.io.File(p13, v2_1.getName());
                    if ((p15) || (!v10_1.exists())) {
                        int v4_6 = v8.x509_NAME_HASH(v2_1.getAbsolutePath().getBytes(java.nio.charset.Charset.forName("UTF-8")));
                        if ((v4_6 != 0) && (v4_6.length() != 0)) {
                            int v11_1 = new java.io.File(p13, new StringBuilder().append(v4_6).append(".0").toString());
                            if ((!v11_1.exists()) || (p15)) {
                                try {
                                    int v5_7 = new java.io.FileInputStream(v2_1);
                                    try {
                                        int v4_11 = new java.io.FileOutputStream(v10_1);
                                        try {
                                            Exception v2_3 = new java.io.FileOutputStream(v11_1);
                                            try {
                                                byte[] v10_3 = new byte[1];
                                                v4_11.write(v10_3, 0, 1);
                                                byte[] v10_5 = new byte[4096];
                                            } catch (Exception v0_2) {
                                                v3 = v2_3;
                                                try {
                                                    if (v5_7 == 0) {
                                                        if (v4_11 != 0) {
                                                            v4_11.close();
                                                        }
                                                        if (v3 != 0) {
                                                            v3.close();
                                                        }
                                                    } else {
                                                        v5_7.close();
                                                    }
                                                } catch (Exception v1) {
                                                }
                                                throw v0_2;
                                            } catch (Exception v0) {
                                                Exception v0_1 = v2_3;
                                                Exception v2_0 = v4_11;
                                                int v4_0 = v5_7;
                                                try {
                                                    if (v4_0 != 0) {
                                                        v4_0.close();
                                                    }
                                                    if (v2_0 != null) {
                                                        v2_0.close();
                                                    }
                                                    if (v0_1 != null) {
                                                        v0_1.close();
                                                    }
                                                    v0_0 = 0;
                                                } catch (Exception v0) {
                                                    v0_0 = 0;
                                                }
                                            } catch (Exception v0) {
                                                try {
                                                    if (v5_7 != 0) {
                                                        v5_7.close();
                                                    }
                                                    if (v4_11 != 0) {
                                                        v4_11.close();
                                                    }
                                                    if (v2_3 != null) {
                                                        v2_3.close();
                                                    }
                                                    v0_0 = 0;
                                                } catch (Exception v0) {
                                                    v0_0 = 0;
                                                }
                                            }
                                            while(true) {
                                                int v11_3 = v5_7.read(v10_5);
                                                if (v11_3 <= 0) {
                                                    break;
                                                }
                                                v2_3.write(v10_5, 0, v11_3);
                                            }
                                            try {
                                                if (v5_7 != 0) {
                                                    v5_7.close();
                                                }
                                                if (v4_11 != 0) {
                                                    v4_11.close();
                                                }
                                                if (v2_3 != null) {
                                                    v2_3.close();
                                                }
                                            } catch (Exception v2) {
                                            }
                                        } catch (Exception v0_2) {
                                        } catch (Exception v0) {
                                            v0_1 = 0;
                                            v2_0 = v4_11;
                                            v4_0 = v5_7;
                                        } catch (Exception v0) {
                                            v2_3 = 0;
                                        }
                                    } catch (Exception v0_2) {
                                        v4_11 = 0;
                                    } catch (Exception v0) {
                                        v0_1 = 0;
                                        v2_0 = 0;
                                        v4_0 = v5_7;
                                    } catch (Exception v0) {
                                        v2_3 = 0;
                                        v4_11 = 0;
                                    }
                                } catch (Exception v0_2) {
                                    v4_11 = 0;
                                    v5_7 = 0;
                                } catch (Exception v0) {
                                    v0_1 = 0;
                                    v2_0 = 0;
                                    v4_0 = 0;
                                } catch (Exception v0) {
                                    v2_3 = 0;
                                    v4_11 = 0;
                                    v5_7 = 0;
                                }
                            }
                        }
                    }
                }
                v6++;
            }
            v1 = v0_0;
        }
        return v1;
    }

Method com.nokia.maps.SSLCertManager.a() calling method java.io.File.<init>()


    public static boolean a(android.content.Context p10)
    {
        boolean v0_2;
        boolean v2 = 0;
        Object[] v3_0 = com.nokia.maps.MapSettings.b(p10);
        boolean v0_8 = new java.io.File(v3_0);
        java.io.File v4_1 = new java.io.File(com.nokia.maps.MapSettings.a(p10));
        java.io.File v5_1 = new java.io.File("/system/etc/security/cacerts/");
        if (!v0_8.exists()) {
            if ((v0_8.mkdirs()) && (v4_1.mkdirs())) {
                v0_2 = 1;
                boolean v0_7;
                if (!v0_2) {
                    v0_7 = 1;
                } else {
                    v0_7 = ark>com.nokia.maps.SSLCertManagerark>.a(p10, v3_0);
                }
                if (v0_7) {
                    v0_7 = ark>com.nokia.maps.SSLCertManagerark>.a(v4_1, v5_1, 0);
                }
                v2 = v0_7;
            }
        } else {
            if (v0_8.isDirectory()) {
                ark>com.nokia.maps.SSLCertManagerark>.b(p10);
                String[] v6_2 = ark>com.nokia.maps.SSLCertManagerark>.getCertList();
                if ((v6_2 != null) && (v6_2.length > 0)) {
                    boolean v0_5 = 0;
                    while (v0_5 < v6_2.length) {
                        if (new java.io.File(v3_0, v6_2[v0_5]).exists()) {
                            v0_5++;
                        } else {
                            v0_2 = 1;
                        }
                        return v2;
                    }
                }
                v0_2 = 0;
            } else {
                Object[] v3_1 = new Object[0];
                com.nokia.maps.bp.f(ark>com.nokia.maps.SSLCertManagerark>.a, "Certificate location is not a directory, cannot continue.", v3_1);
            }
        }
        return v2;
    }

Method com.nokia.maps.SSLCertManager.a() calling method java.io.File.<init>()


    public static boolean a(android.content.Context p10)
    {
        boolean v0_2;
        boolean v2 = 0;
        Object[] v3_0 = com.nokia.maps.MapSettings.b(p10);
        boolean v0_8 = new java.io.File(v3_0);
        java.io.File v4_1 = new java.io.File(com.nokia.maps.MapSettings.a(p10));
        java.io.File v5_1 = new java.io.File("/system/etc/security/cacerts/");
        if (!v0_8.exists()) {
            if ((v0_8.mkdirs()) && (v4_1.mkdirs())) {
                v0_2 = 1;
                boolean v0_7;
                if (!v0_2) {
                    v0_7 = 1;
                } else {
                    v0_7 = ark>com.nokia.maps.SSLCertManagerark>.a(p10, v3_0);
                }
                if (v0_7) {
                    v0_7 = ark>com.nokia.maps.SSLCertManagerark>.a(v4_1, v5_1, 0);
                }
                v2 = v0_7;
            }
        } else {
            if (v0_8.isDirectory()) {
                ark>com.nokia.maps.SSLCertManagerark>.b(p10);
                String[] v6_2 = ark>com.nokia.maps.SSLCertManagerark>.getCertList();
                if ((v6_2 != null) && (v6_2.length > 0)) {
                    boolean v0_5 = 0;
                    while (v0_5 < v6_2.length) {
                        if (new java.io.File(v3_0, v6_2[v0_5]).exists()) {
                            v0_5++;
                        } else {
                            v0_2 = 1;
                        }
                    }
                }
                v0_2 = 0;
            } else {
                Object[] v3_1 = new Object[0];
                com.nokia.maps.bp.f(ark>com.nokia.maps.SSLCertManagerark>.a, "Certificate location is not a directory, cannot continue.", v3_1);
            }
        }
        return v2;
    }

Method com.nokia.maps.PositioningResourceManager.a() calling method java.io.File.<init>()


    public static boolean a(android.content.Context p7)
    {
        boolean v0_0 = 0;
        String v1_3 = new java.io.File(p7.getDir("data", 0), "config");
        if ((v1_3.exists()) || (v1_3.mkdirs())) {
            if (com.nokia.maps.bk.a("PositioningResourcePkg").booleanValue()) {
                Object[] v4_0 = new Object[1];
                v4_0[0] = v1_3.getAbsolutePath();
                com.nokia.maps.bp.d(ark>com.nokia.maps.PositioningResourceManagerark>.a, "Deplying Positioning resource to \'%s\'", v4_0);
                v0_0 = ark>com.nokia.maps.PositioningResourceManagerark>.deployToDisk(v1_3.getAbsolutePath(), 1);
            } else {
                String v3_1 = new Object[0];
                com.nokia.maps.bp.b(ark>com.nokia.maps.PositioningResourceManagerark>.a, "Library (PositioningResourcePkg) failed to load ...", v3_1);
            }
        } else {
            Object[] v4_1 = new Object[1];
            v4_1[0] = v1_3.getAbsolutePath();
            com.nokia.maps.bp.c(ark>com.nokia.maps.PositioningResourceManagerark>.a, "Error: Could not create path \'%s\'", v4_1);
        }
        return v0_0;
    }

Method com.nokia.maps.PositioningManagerImpl.a() calling method java.io.File.<init>()


    public declared_synchronized void a(java.util.EnumSet p7)
    {
        try {
            if (!p7.equals(this.h)) {
                this.h = p7;
                if ((this.f instanceof com.nokia.maps.bn)) {
                    ((com.nokia.maps.bn) this.f).a(0, "", "", "");
                }
                this.stopGpxLoggingNative();
                if (!this.h.equals(java.util.EnumSet.noneOf(com.here.android.mpa.common.PositioningManager$LogType))) {
                    com.nokia.maps.bn v0_8 = com.nokia.maps.MapSettings.g();
                    if (v0_8 != null) {
                        String v1_7 = new java.io.File(v0_8);
                        if ((v1_7.exists()) || (v1_7.mkdirs())) {
                            String v1_13 = new StringBuilder().append(v0_8).append(new java.text.SimpleDateFormat("yyyyMMddHHmmss").format(new java.util.Date())).append("_android").toString();
                            String v2_10 = new StringBuilder().append(android.os.Build.MANUFACTURER).append(" ").append(android.os.Build.MODEL).toString();
                            String v3_6 = new StringBuilder().append("Android ").append(android.os.Build$VERSION.RELEASE).append(" (API ").append(android.os.Build$VERSION.SDK_INT).append(")").toString();
                            this.startGpxLoggingNative(v1_13, v2_10, v3_6, this.h.contains(com.here.android.mpa.common.PositioningManager$LogType.RAW), this.h.contains(com.here.android.mpa.common.PositioningManager$LogType.MATCHED));
                            if ((this.h.contains(com.here.android.mpa.common.PositioningManager$LogType.DATA_SOURCE)) && ((this.f instanceof com.nokia.maps.bn))) {
                                ((com.nokia.maps.bn) this.f).a(1, new StringBuilder().append(v1_13).append("_lm.gpx").toString(), v2_10, v3_6);
                            }
                        }
                    }
                }
            }
        } catch (com.nokia.maps.bn v0_2) {
            throw v0_2;
        }
        return;
    }

Method com.nokia.maps.PositionSimulatorImpl.a() calling method java.io.File.<init>()


    public declared_synchronized com.here.android.mpa.common.PositionSimulator$PlaybackError a(String p13)
    {
        try {
            com.here.android.mpa.common.PositionSimulator$PlaybackError v0_1;
            int v2_1 = new Object[0];
            com.nokia.maps.bp.a(ark>com.nokia.maps.PositionSimulatorImplark>.a, "SIM startlayback()", v2_1);
            this.a();
        } catch (com.here.android.mpa.common.PositionSimulator$PlaybackError v0_8) {
            throw v0_8;
        }
        if (new java.io.File(p13).exists()) {
            if (this.b == null) {
                com.here.android.mpa.common.PositionSimulator$PlaybackError v0_11 = com.nokia.maps.PositioningManagerImpl.a(com.here.android.mpa.common.PositioningManager.getInstance()).j();
                if ((v0_11 != null) && ((v0_11 instanceof com.nokia.maps.ep))) {
                    this.b = ((com.nokia.maps.ep) v0_11);
                } else {
                    this.b = 0;
                    v0_1 = com.here.android.mpa.common.PositionSimulator$PlaybackError.LOCATION_DATA_SOURCE_INVALID;
                    return v0_1;
                }
            }
            this.g = ((android.location.LocationManager) com.nokia.maps.MapsEngine.f().getSystemService("location"));
            java.util.List v11 = this.g.getAllProviders();
            if (!v11.contains("NMA_SIMULATED_GPS_PROVIDER")) {
                this.g.addTestProvider("NMA_SIMULATED_GPS_PROVIDER", 0, 0, 0, 0, 1, 1, 1, 0, 5);
            }
            if (!v11.contains("NMA_SIMULATED_NETWORK_PROVIDER")) {
                this.g.addTestProvider("NMA_SIMULATED_NETWORK_PROVIDER", 0, 0, 0, 0, 1, 1, 1, 0, 5);
            }
            this.b.a(1);
            this.g.setTestProviderEnabled("NMA_SIMULATED_GPS_PROVIDER", 1);
            this.g.setTestProviderEnabled("NMA_SIMULATED_NETWORK_PROVIDER", 1);
            this.c = this.getGeoPositionsNative(p13);
            this.d = 0;
            this.h = new java.util.HashMap();
            this.a("NMA_SIMULATED_GPS_PROVIDER", 1);
            this.a("NMA_SIMULATED_NETWORK_PROVIDER", 1);
            if (this.c.length <= 0) {
                this.a();
                v0_1 = com.here.android.mpa.common.PositionSimulator$PlaybackError.FILE_PARSING;
            } else {
                this.e = 0;
                this.a(1000);
                v0_1 = com.here.android.mpa.common.PositionSimulator$PlaybackError.NONE;
            }
        } else {
            v0_1 = com.here.android.mpa.common.PositionSimulator$PlaybackError.FILE_NOT_FOUND;
        }
        return v0_1;
    }

Method com.nokia.maps.PlacesCategoryGraph.f() calling method java.io.File.<init>()


    private final void f()
    {
        java.util.concurrent.Semaphore v2 = 0;
        try {
            Object v1_3;
            this.c.acquire();
            Throwable v0_1 = new java.io.File(new StringBuilder().append(com.nokia.maps.MapSettings.e()).append("/places/CategoryGraphJSON.txt").toString());
        } catch (Throwable v0_4) {
            if (v2 != null) {
                try {
                    v2.close();
                } catch (Object v1_7) {
                    v1_7.printStackTrace();
                }
            }
            this.c.release();
            throw v0_4;
        } catch (Throwable v0_3) {
            v1_3 = 0;
            v0_3.printStackTrace();
            if (v1_3 != null) {
                try {
                    v1_3.close();
                } catch (Throwable v0_9) {
                    v0_9.printStackTrace();
                }
            }
            this.c.release();
            if (v2 != null) {
                this.e = v2;
            }
            return;
        } catch (Throwable v0_4) {
            v2 = v1_3;
        }
        if (!v0_1.exists()) {
            v1_3 = 0;
        } else {
            v1_3 = new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(v0_1), "UTF-8"));
            try {
                v2 = ((com.nokia.maps.PlacesCategoryGraph$CategoryGraphData) com.nokia.maps.dz.a().a(v1_3.readLine(), com.nokia.maps.PlacesCategoryGraph$CategoryGraphData));
            } catch (Throwable v0_3) {
            }
        }
        if (v1_3 != null) {
            try {
                v1_3.close();
            } catch (Throwable v0_11) {
                v0_11.printStackTrace();
            }
        }
        this.c.release();
    }

Method com.nokia.maps.PlacesCategoryGraph.d() calling method java.io.File.<init>()


    private boolean d()
    {
        int v1 = 1;
        if (this.e()) {
            long v2_0 = new java.io.File(new StringBuilder().append(com.nokia.maps.MapSettings.e()).append("/places/CategoryGraphJSON.txt").toString());
            if (v2_0.exists()) {
                int v0_13;
                if (!java.util.Locale.getDefault().getCountry().isEmpty()) {
                    v0_13 = new StringBuilder().append(java.util.Locale.getDefault().getLanguage()).append("-").append(java.util.Locale.getDefault().getCountry()).toString();
                } else {
                    v0_13 = java.util.Locale.getDefault().getLanguage();
                }
                if (this.e.b().matches(v0_13)) {
                    int v0_19;
                    if ((System.currentTimeMillis() - v2_0.lastModified()) <= 604800000) {
                        v0_19 = 0;
                    } else {
                        v0_19 = 1;
                    }
                    v1 = v0_19;
                }
            }
        }
        return v1;
    }

Method com.nokia.maps.PlacesCategoryGraph.d() calling method java.io.File.<init>()


    private void d(String p7)
    {
        String v1_0 = 0;
        try {
            java.io.IOException v0_13 = new java.io.File(new StringBuilder().append(com.nokia.maps.MapSettings.e()).append(java.io.File.separator).append("places").toString());
        } catch (java.io.IOException v0_18) {
            if (v1_0 != null) {
                try {
                    v1_0.close();
                } catch (String v1_16) {
                    v1_16.printStackTrace();
                }
            }
            throw v0_18;
        } catch (java.io.IOException v0_28) {
            String v2_12 = 0;
            try {
                v0_28.printStackTrace();
            } catch (java.io.IOException v0_18) {
                v1_0 = v2_12;
            }
            if (v2_12 != null) {
                try {
                    v2_12.close();
                } catch (java.io.IOException v0_35) {
                    v0_35.printStackTrace();
                    v2_12 = v1_0;
                    try {
                        this.c.acquire();
                    } catch (java.io.IOException v0_17) {
                        this.c.release();
                        throw v0_17;
                    } catch (java.io.IOException v0_15) {
                        v0_15.printStackTrace();
                        this.c.release();
                        return;
                    } catch (java.io.IOException v0_12) {
                        v0_12.printStackTrace();
                        this.c.release();
                        return;
                    }
                    if ((v2_12 != null) && (v2_12.exists())) {
                        java.io.IOException v0_4 = new java.io.File(new StringBuilder().append(com.nokia.maps.MapSettings.e()).append("/places/CategoryGraphJSON.txt").toString());
                        if ((!v0_4.exists()) || (v0_4.delete())) {
                            if (!v2_12.renameTo(v0_4)) {
                                throw new java.io.IOException(new StringBuilder().append("Failed to rename ").append(v2_12.getName()).toString());
                            }
                        } else {
                            throw new java.io.IOException(new StringBuilder().append("Failed to delete ").append(v0_4.getName()).toString());
                        }
                    }
                    this.c.release();
                    return;
                }
            }
            v2_12 = v1_0;
        }
        if ((v0_13.exists()) || (v0_13.mkdirs())) {
            v2_12 = new java.io.File(new StringBuilder().append(com.nokia.maps.MapSettings.e()).append("/places/tmp.txt").toString());
            if ((!v2_12.exists()) || (v2_12.delete())) {
                String v3_8 = new java.io.OutputStreamWriter(new java.io.FileOutputStream(v2_12), "UTF-8");
                try {
                    v3_8.write(p7);
                } catch (java.io.IOException v0_18) {
                    v1_0 = v3_8;
                } catch (java.io.IOException v0_28) {
                    v1_0 = v2_12;
                    v2_12 = v3_8;
                }
                if (v3_8 == null) {
                } else {
                    try {
                        v3_8.close();
                    } catch (java.io.IOException v0_29) {
                        v0_29.printStackTrace();
                    }
                }
            } else {
                throw new java.io.IOException(new StringBuilder().append("Failed to delete ").append(v2_12.getName()).toString());
            }
        } else {
            throw new java.io.IOException(new StringBuilder().append("Failed to create ").append(v0_13.getName()).toString());
        }
    }

Method com.nokia.maps.MapsEngineResourceManager.a() calling method java.io.File.<init>()


    static boolean a(android.content.Context p5, String p6)
    {
        boolean v0 = 0;
        Object[] v3_0 = new Object[0];
        com.nokia.maps.bp.a(ark>com.nokia.maps.MapsEngineResourceManagerark>.getName(), new StringBuilder().append("DestDir=").append(p6).toString(), v3_0);
        String v1_1 = new java.io.File(p6);
        if ((v1_1.exists()) || (v1_1.mkdirs())) {
            if (com.nokia.maps.bk.a("MapsEngineResourcePkg").booleanValue()) {
                v0 = ark>com.nokia.maps.MapsEngineResourceManagerark>.deployToDisk(p6, 1);
            } else {
                Object[] v3_1 = new Object[0];
                com.nokia.maps.bp.b("MapsEngineResourceManager", "Library (MapsEngineResourcePkg) failed to load ...", v3_1);
            }
        } else {
            Object[] v3_2 = new Object[1];
            v3_2[0] = p6;
            com.nokia.maps.bp.c(ark>com.nokia.maps.MapsEngineResourceManagerark>.a, "Failed to mkdirs() for %s", v3_2);
        }
        return v0;
    }

Method com.nokia.maps.MapsEngineResourceManager.a() calling method java.io.File.<init>()


    public static void a(java.io.File p5)
    {
        if (p5.isDirectory()) {
            String v1_7 = p5.list();
            if (v1_7 != null) {
                String v2_4 = v1_7.length;
                java.io.IOException v0_6 = 0;
                while (v0_6 < v2_4) {
                    java.io.File v4_1 = new java.io.File(p5, v1_7[v0_6]);
                    if (!v4_1.isDirectory()) {
                        if (!v4_1.delete()) {
                            throw new java.io.IOException(new StringBuilder().append("Failed to delete file: ").append(v4_1.getName()).toString());
                        }
                    } else {
                        ark>com.nokia.maps.MapsEngineResourceManagerark>.a(v4_1);
                    }
                    v0_6++;
                }
            }
            if (!p5.delete()) {
                throw new java.io.IOException(new StringBuilder().append("Failed to delete dir: ").append(p5.getName()).toString());
            }
        }
        return;
    }

Method com.nokia.maps.MapsEngine.f() calling method java.io.File.<init>()


    private boolean f(android.content.Context p12)
    {
        android.content.Context v0_0;
        String v2_0 = 0;
        Object[] v5_1 = new java.io.File(com.nokia.maps.MapSettings.d());
        if (v5_1.exists()) {
            v0_0 = 1;
        } else {
            v0_0 = v5_1.mkdirs();
        }
        String v4_0 = this.p;
        String v3_0 = 0;
        while (v3_0 < v4_0.length) {
            if (new java.io.File(v5_1, v4_0[v3_0]).exists()) {
                v3_0++;
            } else {
                v0_0 = 0;
                break;
            }
        }
        String v6_2 = new java.io.File(com.nokia.maps.MapSettings.e());
        String[] v7_2 = this.q;
        int v8_2 = v7_2.length;
        String v4_1 = 0;
        String v3_2 = 1;
        while (v4_1 < v8_2) {
            java.io.File v10_1 = new java.io.File(v6_2, v7_2[v4_1]);
            if (v10_1.exists()) {
                if (v0_0 == null) {
                    try {
                        com.nokia.maps.MapsEngineResourceManager.a(v10_1);
                    } catch (android.content.Context v0_9) {
                        Object[] v5_3 = new Object[2];
                        v5_3[0] = v10_1.getName();
                        v5_3[1] = v0_9.getLocalizedMessage();
                        com.nokia.maps.bp.f(com.nokia.maps.MapsEngine.I, "ERROR: deleting dir: %s: %s", v5_3);
                        return v2_0;
                    }
                }
            } else {
                v3_2 = 0;
            }
            v4_1++;
        }
        if ((v0_0 == null) || (v3_2 == null)) {
            if (!v5_1.canWrite()) {
                Object[] v1_1 = new Object[1];
                v1_1[0] = v5_1.getAbsolutePath();
                com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "Cannot write to directory: %s", v1_1);
                return v2_0;
            } else {
                if (com.nokia.maps.MapsEngineResourceManager.a(p12, v5_1.getAbsolutePath())) {
                    com.nokia.maps.SupplementaryResourceManager.a(com.nokia.maps.MapsEngine.G, v5_1.getAbsolutePath());
                } else {
                    Object[] v1_2 = new Object[1];
                    v1_2[0] = v5_1.getAbsolutePath();
                    com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "Failed to deploy resources into location: %s", v1_2);
                    return v2_0;
                }
            }
        }
        v2_0 = 1;
        return v2_0;
    }

Method com.nokia.maps.MapsEngine.b() calling method java.io.File.<init>()


    public static com.nokia.maps.MapsEngine b(android.content.Context p13, com.here.android.mpa.common.OnEngineInitListener p14)
    {
        int v0_9;
        int v8 = 0;
        String v4_20 = new Object[2];
        v4_20[0] = com.nokia.maps.MapsEngine.w.toString();
        if (p14 != null) {
            v0_9 = p14.hashCode();
        } else {
            v0_9 = 0;
        }
        int v0_68;
        v4_20[1] = Integer.valueOf(v0_9);
        com.nokia.maps.bp.a(com.nokia.maps.MapsEngine.I, "IN - s_initState=%s listener=0x%08x", v4_20);
        com.nokia.maps.ef.a(p13, "Cannot initialize with a null Context");
        int v0_86 = new StringBuilder().append(new android.content.ContextWrapper(p13).getFilesDir()).append(java.io.File.separator).append("..").append(java.io.File.separator).append("lib/libMAPSJNI.so").toString();
        if (new java.io.File(v0_86).exists()) {
            try {
                Class.forName("com.here.network.NetworkProtocol");
            } catch (int v0_109) {
                if (p14 != null) {
                    IllegalStateException v3_26 = new Object[1];
                    v3_26[0] = "com.here.network.NetworkProtocol";
                    com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "MapsEngine#serviceInit NOT FOUND:", v3_26);
                    com.nokia.maps.MapsEngine.b(p13, com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.MISSING_LIBRARIES, "com.here.network.NetworkProtocol class not found.", v0_109), p14);
                }
                v0_68 = com.nokia.maps.MapsEngine.F;
            }
            try {
                if (com.nokia.maps.MapsEngine.F == null) {
                    com.nokia.maps.MapsEngine.b(p13);
                }
            } catch (int v0_91) {
                throw v0_91;
            }
            if (com.nokia.maps.BaseNativeObject.H) {
                com.nokia.maps.MapsEngine.X();
                if (com.nokia.maps.ApplicationContext.b().g() == com.here.android.mpa.common.OnEngineInitListener$Error.NONE) {
                    if ((com.nokia.maps.MapsEngine.F == null) || (com.nokia.maps.MapsEngine.w != com.nokia.maps.MapsEngine$e.b)) {
                        if ((com.nokia.maps.MapsEngine.w == com.nokia.maps.MapsEngine$e.a) || ((com.nokia.maps.MapsEngine.w == com.nokia.maps.MapsEngine$e.e) || ((com.nokia.maps.MapsEngine.w == com.nokia.maps.MapsEngine$e.d) || (com.nokia.maps.MapsEngine.w == com.nokia.maps.MapsEngine$e.f)))) {
                            com.nokia.maps.MapsEngine.w = com.nokia.maps.MapsEngine$e.b;
                            com.nokia.maps.MapsEngine.F = com.nokia.maps.MapsEngine.b(p13);
                            int v0_1 = new java.util.ArrayList();
                            if (com.nokia.maps.MapsEngine.F.c(v0_1)) {
                                int v0_2 = com.nokia.maps.MapSettings.j();
                                com.here.android.mpa.common.OnEngineInitListener$Error v2_3 = new java.io.File(v0_2);
                                IllegalStateException v3_1 = new java.io.File(new StringBuilder().append(v0_2).append(java.io.File.separator).append("foo.bar").toString());
                                if (!v3_1.delete()) {
                                    String v5_1 = new Object[0];
                                    com.nokia.maps.bp.d(com.nokia.maps.MapsEngine.I, "ERROR: Failed to delete test file", v5_1);
                                }
                                if (!v2_3.mkdirs()) {
                                    String v5_3 = new Object[0];
                                    com.nokia.maps.bp.d(com.nokia.maps.MapsEngine.I, "ERROR: Failed to mkdirs() for the diskcache path", v5_3);
                                }
                                try {
                                    if (v3_1.createNewFile()) {
                                        int v0_16;
                                        if (v3_1.delete()) {
                                            v0_16 = 1;
                                        } else {
                                            String v4_11 = new Object[0];
                                            com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "ERROR: Problem removing test file from disk cache", v4_11);
                                            v0_16 = 1;
                                        }
                                    } else {
                                        String v5_5 = new Object[0];
                                        com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "ERROR: Failed to create test file, checking for existence", v5_5);
                                    }
                                } catch (int v0) {
                                    String v5_7 = new Object[0];
                                    com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "ERROR: IOException trying to create test file", v5_7);
                                    if (v3_1.delete()) {
                                        v0_16 = 0;
                                    } else {
                                        String v4_9 = new Object[0];
                                        com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "ERROR: Problem removing test file from disk cache", v4_9);
                                        v0_16 = 0;
                                    }
                                }
                                if ((v2_3.exists()) && (v0_16 != 0)) {
                                    if (com.nokia.maps.MapsEngine.l == null) {
                                        int v0_26;
                                        int vtmp57 = com.nokia.maps.MapsEngine$n.a.a();
                                        if (com.nokia.maps.MapServiceClient.b) {
                                            v0_26 = 0;
                                        } else {
                                            v0_26 = 1;
                                        }
                                        com.nokia.maps.MapsEngine.l = com.nokia.maps.MapsEngine.F.getServerUrl(vtmp57, v0_26);
                                    }
                                    if (com.nokia.maps.MapsEngine.i == null) {
                                        int v0_31;
                                        int vtmp58 = com.nokia.maps.MapsEngine$n.i.a();
                                        if (com.nokia.maps.MapServiceClient.b) {
                                            v0_31 = 0;
                                        } else {
                                            v0_31 = 1;
                                        }
                                        com.nokia.maps.MapsEngine.i = com.nokia.maps.MapsEngine.F.getServerUrl(vtmp58, v0_31);
                                    }
                                    if (com.nokia.maps.MapsEngine.j == null) {
                                        int v0_38;
                                        int vtmp60 = com.nokia.maps.MapsEngine$n.j.a();
                                        if (com.nokia.maps.MapServiceClient.b) {
                                            v0_38 = 0;
                                        } else {
                                            v0_38 = 1;
                                        }
                                        com.nokia.maps.MapsEngine.j = com.nokia.maps.MapsEngine.F.getServerUrl(vtmp60, v0_38);
                                    }
                                    if (com.nokia.maps.MapsEngine.k == null) {
                                        int v0_43;
                                        int vtmp62 = com.nokia.maps.MapsEngine$n.k.a();
                                        if (com.nokia.maps.MapServiceClient.b) {
                                            v0_43 = 0;
                                        } else {
                                            v0_43 = 1;
                                        }
                                        com.nokia.maps.MapsEngine.k = com.nokia.maps.MapsEngine.F.getServerUrl(vtmp62, v0_43);
                                    }
                                    com.nokia.maps.MapsEngine.F.d(com.nokia.maps.MapSettings.e());
                                    if (com.nokia.maps.MapsEngine.g().booleanValue()) {
                                        try {
                                            if ((!com.nokia.maps.MapSettings.a()) || (!com.nokia.maps.MapServiceClient.b())) {
                                                short v7_2;
                                                com.nokia.maps.MapsEngine.P = p14;
                                                com.here.android.mpa.common.OnEngineInitListener$Error v2_12 = com.nokia.maps.MapSettings.e();
                                                String v6 = com.nokia.maps.MapsEngine.n();
                                                if (com.nokia.maps.MapsEngine.y != com.nokia.maps.MapsEngine$c.a) {
                                                    v7_2 = com.nokia.maps.MapsEngine.y.g;
                                                } else {
                                                    v7_2 = 0;
                                                }
                                                com.nokia.maps.MapsEngine.F.a(com.nokia.maps.MapsEngine.G, v2_12, com.nokia.maps.MapsEngine.l, com.nokia.maps.MapsEngine.i, com.nokia.maps.MapsEngine.j, v6, v7_2);
                                            } else {
                                                com.here.android.mpa.common.OnEngineInitListener$Error v2_26 = new Object[0];
                                                com.nokia.maps.bp.b(com.nokia.maps.MapsEngine.I, "Wrong intent name for isolated disk cache.", v2_26);
                                                com.here.android.mpa.common.OnEngineInitListener$Error v2_28 = new Object[2];
                                                v2_28[0] = com.here.android.mpa.service.MapService.getSimpleName();
                                                v2_28[1] = "Wrong intent name for isolated disk cache.";
                                                com.nokia.maps.MapsEngine.b(p13, com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.WRONG_SERVICE_INTENT_NAME, String.format("%s: %s. See \'Embedding the Map Service\' section of User Guide.", v2_28), new IllegalStateException("Wrong intent name for isolated disk cache.")), p14);
                                                com.nokia.maps.MapsEngine.F = 0;
                                                com.nokia.maps.MapsEngine.P = 0;
                                            }
                                        } catch (int v0_56) {
                                            IllegalStateException v3_10 = new Object[0];
                                            com.nokia.maps.bp.b(com.nokia.maps.MapsEngine.I, "Map Service was NOT FOUND. Return error.", v3_10);
                                            com.nokia.maps.MapsEngine.b(p13, com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.MISSING_SERVICE, new StringBuilder().append(com.here.android.mpa.service.MapService.getSimpleName()).append(" is missing from the AndroidManifest.xml file. ").append(" Please refer to the user guide for details about ").append("proper project setup.").toString(), v0_56), p14);
                                            com.nokia.maps.MapsEngine.F = 0;
                                            com.nokia.maps.MapsEngine.P = 0;
                                        } catch (int v0_51) {
                                            IllegalStateException v3_8 = new Object[1];
                                            v3_8[0] = v0_51.getLocalizedMessage();
                                            com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "singleton.connectService() failed.  Error: %s", v3_8);
                                            com.nokia.maps.MapsEngine.b(p13, com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.UNKNOWN, "Unknown error occurred.", v0_51), p14);
                                            com.nokia.maps.MapsEngine.F = 0;
                                            com.nokia.maps.MapsEngine.P = 0;
                                        }
                                    } else {
                                        com.nokia.maps.MapsEngine.F.b(p14);
                                    }
                                    com.here.android.mpa.common.OnEngineInitListener$Error v2_31 = new Object[2];
                                    v2_31[0] = com.nokia.maps.MapsEngine.w.toString();
                                    if (p14 != null) {
                                        v8 = p14.hashCode();
                                    }
                                    v2_31[1] = Integer.valueOf(v8);
                                    com.nokia.maps.bp.a(com.nokia.maps.MapsEngine.I, "OUT - s_initState=%s listener=0x%08x", v2_31);
                                    v0_68 = com.nokia.maps.MapsEngine.F;
                                } else {
                                    com.nokia.maps.MapsEngine.F.a(com.nokia.maps.MapsEngine.G);
                                    com.nokia.maps.MapsEngine.b(p13, com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.FILE_RW_ERROR, "SDK cache is missing."), p14);
                                    com.nokia.maps.MapsEngine.F = 0;
                                    com.nokia.maps.MapsEngine.P = 0;
                                    v0_68 = 0;
                                }
                            } else {
                                com.nokia.maps.MapsEngine.b(p13, com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.MISSING_PERMISSION, new StringBuilder().append("Missing permissions: ").append(com.nokia.maps.eu.a(v0_1, ", ")).append(". ").append("Please refer to the user guide for details about proper project setup.").toString()), p14);
                                com.nokia.maps.MapsEngine.P = 0;
                                v0_68 = com.nokia.maps.MapsEngine.F;
                            }
                        } else {
                            throw new Exception("Cannot initialize the engine twice");
                        }
                    } else {
                        com.here.android.mpa.common.OnEngineInitListener$Error v2_39 = new Object[2];
                        v2_39[0] = com.nokia.maps.MapsEngine.w.toString();
                        if (p14 != null) {
                            v8 = p14.hashCode();
                        }
                        v2_39[1] = Integer.valueOf(v8);
                        com.nokia.maps.bp.e(com.nokia.maps.MapsEngine.I, "s_initState=%s adding listener(0x%08x) to listener list.", v2_39);
                        if (p14 != null) {
                            com.nokia.maps.MapsEngine.M.add(p14);
                        }
                        v0_68 = com.nokia.maps.MapsEngine.F;
                    }
                } else {
                    com.here.android.mpa.common.OnEngineInitListener$Error v2_42 = new Object[0];
                    com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "MapsEngine#serviceInit Init ERROR", v2_42);
                    com.nokia.maps.MapsEngine.b(p13, com.nokia.maps.ApplicationContext.b().g(), p14);
                    v0_68 = com.nokia.maps.MapsEngine.F;
                }
            } else {
                IllegalStateException v3_21 = new Object[0];
                com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "MapsEngine#serviceInit some native libs are missing", v3_21);
                com.nokia.maps.MapsEngine.w = com.nokia.maps.MapsEngine$e.e;
                com.nokia.maps.MapsEngine.b(p13, com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.MISSING_LIBRARIES, new StringBuilder().append("Native libraries missing: ").append(com.nokia.maps.eu.a(com.nokia.maps.MapsEngine.o, ", ")).append(". ").append("Please refer to the user guide for details about proper project setup.").toString()), p14);
                com.nokia.maps.MapsEngine.F = 0;
                com.nokia.maps.MapsEngine.P = 0;
                v0_68 = 0;
            }
        } else {
            if (p14 != null) {
                IllegalStateException v3_23 = new Object[1];
                v3_23[0] = v0_86;
                com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "MapsEngine#serviceInit NOT FOUND:", v3_23);
                com.nokia.maps.MapsEngine.b(p13, com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.MISSING_LIBRARIES, new StringBuilder().append("Library ").append(v0_86).append(" not found.").toString()), p14);
            }
            v0_68 = com.nokia.maps.MapsEngine.F;
        }
        return v0_68;
    }

Method com.nokia.maps.MapsEngine$j.a() calling method java.io.File.<init>()


    private com.here.android.mpa.common.OnEngineInitListener$Error a()
    {
        com.here.android.mpa.common.OnEngineInitListener$Error v1_3;
        String v3_20 = new Object[0];
        com.nokia.maps.bp.a(com.nokia.maps.MapsEngine.O(), "IN", v3_20);
        com.nokia.maps.MapsEngine.c(com.nokia.maps.MapsEngine.P());
        com.nokia.maps.ApplicationContext.b(com.nokia.maps.MapsEngine.P());
        com.nokia.maps.MapsEngine.a(this.a, this.a.M());
        String v3_14 = new Object[0];
        com.nokia.maps.bp.a(com.nokia.maps.MapsEngine.O(), "Successfully called Native Method init engine", v3_14);
        if (com.nokia.maps.MapsEngine.a(this.a, com.nokia.maps.MapsEngine.P())) {
            if (com.nokia.maps.SSLCertManager.a(com.nokia.maps.MapsEngine.P())) {
                if (com.nokia.maps.nlp.NlpResourceManager.a(com.nokia.maps.MapsEngine.P())) {
                    if (com.nokia.maps.PositioningResourceManager.a(com.nokia.maps.MapsEngine.P())) {
                        com.here.android.mpa.common.OnEngineInitListener$Error v1_40 = com.nokia.maps.MapsEngine.P().getDir("here_maps", 0);
                        if (v1_40 != null) {
                            if ((v1_40.exists()) || (v1_40.mkdirs())) {
                                String v8 = v1_40.toString();
                                String v9 = com.nokia.maps.MapSettings.f();
                                if (v9 != null) {
                                    com.here.android.mpa.common.OnEngineInitListener$Error v1_43 = new java.io.File(v9);
                                    if ((v1_43.exists()) || (v1_43.mkdirs())) {
                                        int v15_0;
                                        com.here.android.mpa.common.OnEngineInitListener$Error v1_45 = this.a;
                                        int v6_2 = com.nokia.maps.MapSettings.b();
                                        String v11 = com.nokia.maps.MapsEngine.Q();
                                        String v13 = com.nokia.maps.MapsEngine.S();
                                        if (com.nokia.maps.MapServiceClient.b) {
                                            v15_0 = 0;
                                        } else {
                                            v15_0 = 1;
                                        }
                                        com.here.android.mpa.common.OnEngineInitListener$Error v1_2 = com.nokia.maps.MapsEngine.a(v1_45, com.nokia.maps.MapsEngine.l, com.nokia.maps.MapsEngine.i, com.nokia.maps.MapsEngine.j, com.nokia.maps.MapsEngine.k, v6_2, "diskcache-v4", v8, v9, ((android.telephony.TelephonyManager) com.nokia.maps.MapsEngine.P().getSystemService("phone")), v11, com.nokia.maps.MapsEngine.R().g, v13, this.a.g, v15_0, com.nokia.maps.MapSettings.l());
                                        com.nokia.maps.MapsEngine.b(0);
                                        switch (v1_2) {
                                            case 0:
                                                v1_3 = com.here.android.mpa.common.OnEngineInitListener$Error.NONE;
                                                break;
                                            case 1:
                                                v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.USAGE_EXPIRED, "Evaluation version is over.");
                                                break;
                                            case 2:
                                                v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.MODEL_NOT_SUPPORTED, new StringBuilder().append("Device ").append(android.os.Build.MANUFACTURER).append(" ").append(android.os.Build.MODEL).append(" is not supported.").toString());
                                                break;
                                            case 3:
                                                v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.DEVICE_NOT_SUPPORTED, "Device with this IMEI number is not supported.");
                                                break;
                                            case 4:
                                                v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.UNKNOWN, "Native engine initialization failed for unknown reason.");
                                                break;
                                            case 5:
                                                v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.MISSING_APP_CREDENTIAL, "Missing app id or app token in the AndroidManifest.xml file. Please refer to the user guide for details about proper project setup.");
                                                break;
                                            case 6:
                                            default:
                                                v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.UNKNOWN, "Native engine initialization failed for unknown reason (unsupported return code).");
                                                break;
                                            case 7:
                                                v1_3 = com.here.android.mpa.common.OnEngineInitListener$Error.BUSY;
                                                break;
                                            case 8:
                                                v1_3 = com.here.android.mpa.common.OnEngineInitListener$Error.FILE_RW_ERROR;
                                                break;
                                        }
                                        if (v1_3 != com.here.android.mpa.common.OnEngineInitListener$Error.NONE) {
                                            com.nokia.maps.MapsEngine.a(com.nokia.maps.MapsEngine$e.e);
                                        } else {
                                            this.a.K();
                                            com.nokia.maps.eg.a(com.nokia.maps.MapsEngine.P());
                                            com.nokia.maps.MapsEngine.b(this.a, com.nokia.maps.MapsEngine.T());
                                            com.nokia.maps.MapsEngine.b(this.a, com.nokia.maps.MapsEngine.P());
                                            com.nokia.maps.MapsEngine.a(this.a, new com.nokia.maps.ci(this.b));
                                            com.nokia.maps.MapsEngine.a(this.a).start();
                                            com.nokia.maps.MapsEngine.b(this.b);
                                            com.nokia.maps.MapsEngine.a(com.nokia.maps.MapsEngine$e.c);
                                            com.nokia.maps.MapsEngine.a(new com.nokia.maps.dl(com.nokia.maps.MapsEngine.P()));
                                            com.nokia.maps.BaseNativeObject.I = 1;
                                            try {
                                                Class.forName("com.google.gson.GsonBuilder");
                                                com.nokia.maps.PlacesCategoryGraph.a(1);
                                            } catch (String v2) {
                                                String v4_3 = new Object[0];
                                                com.nokia.maps.bp.e(com.nokia.maps.MapsEngine.O(), "GSON library is not loaded", v4_3);
                                            } catch (String v2_33) {
                                                String v3_10 = com.nokia.maps.MapsEngine.O();
                                                Object[] v5_1 = new Object[1];
                                                v5_1[0] = v2_33.getLocalizedMessage();
                                                com.nokia.maps.bp.c(v3_10, "PlacesCategoryGraph refreshCache failed.  Error: %s", v5_1);
                                            }
                                            String v2_38 = com.nokia.maps.ConnectionInfoImpl.a(0);
                                            if (v2_38 != null) {
                                                com.nokia.maps.ConnectionInfoImpl.setDeviceId(v2_38);
                                            }
                                        }
                                        String v2_39 = com.nokia.maps.MapsEngine.O();
                                        String v4_5 = new Object[1];
                                        v4_5[0] = v1_3.toString();
                                        com.nokia.maps.bp.a(v2_39, "OUT - return %s", v4_5);
                                    } else {
                                        String v3_16 = new Object[0];
                                        com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.O(), "Failed to mkdirs() for the  folder", v3_16);
                                        com.nokia.maps.MapsEngine.a(com.nokia.maps.MapsEngine$e.f);
                                        v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.FILE_RW_ERROR, "Could not create voice cache directory.");
                                    }
                                } else {
                                    com.nokia.maps.MapsEngine.a(com.nokia.maps.MapsEngine$e.f);
                                    v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.FILE_RW_ERROR, "Could not retrieve voice cache directory.");
                                }
                            } else {
                                String v3_18 = new Object[0];
                                com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.O(), "Failed to mkdirs() for the here_maps folder", v3_18);
                                com.nokia.maps.MapsEngine.a(com.nokia.maps.MapsEngine$e.f);
                                v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.FILE_RW_ERROR, "Could not create android cache directory.");
                            }
                        } else {
                            com.nokia.maps.MapsEngine.a(com.nokia.maps.MapsEngine$e.f);
                            v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.FILE_RW_ERROR, "Could not retrieve android cache directory.");
                        }
                    } else {
                        com.nokia.maps.MapsEngine.a(com.nokia.maps.MapsEngine$e.f);
                        v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.FILE_RW_ERROR, "Could not initialize Positioning resources.");
                    }
                } else {
                    com.nokia.maps.MapsEngine.a(com.nokia.maps.MapsEngine$e.f);
                    v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.FILE_RW_ERROR, "Could not initialize NLP database.");
                }
            } else {
                com.nokia.maps.MapsEngine.a(com.nokia.maps.MapsEngine$e.f);
                v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.FILE_RW_ERROR, "Could not deploy certificates.");
            }
        } else {
            com.nokia.maps.MapsEngine.a(com.nokia.maps.MapsEngine$e.f);
            v1_3 = com.nokia.maps.av.a(com.here.android.mpa.common.OnEngineInitListener$Error.FILE_RW_ERROR, "Could not create cache directory.");
        }
        return v1_3;
    }

Method com.nokia.maps.MapSettings.v() calling method java.io.File.<init>()


    private static String v()
    {
        String v0_1;
        String v0_12 = com.nokia.maps.MapSettings.t();
        if ((!v0_12.exists()) || (!v0_12.canRead())) {
            String v3_2 = new Object[0];
            com.nokia.maps.bp.e(com.nokia.maps.MapSettings.c, "Path override file does not exist or cannot be read.", v3_2);
            v0_1 = 0;
        } else {
            try {
                String v3_5 = new java.io.FileInputStream(v0_12);
                try {
                    String v2_4 = new java.io.BufferedReader(new java.io.InputStreamReader(v3_5, java.nio.charset.Charset.forName("UTF-8")));
                    try {
                        v0_1 = v2_4.readLine();
                        Object[] v4_6 = new java.io.File(new StringBuilder().append(com.nokia.maps.MapSettings.b(v0_1, java.io.File.separator)).append(java.io.File.separator).append(".here-maps").toString());
                    } catch (String v0_9) {
                        String v6_7 = new Object[1];
                        v6_7[0] = com.nokia.maps.bp.a(v0_9);
                        com.nokia.maps.bp.b(com.nokia.maps.MapSettings.c, "File not found \n%s", v6_7);
                        try {
                            if (v2_4 == null) {
                                if (v3_5 != null) {
                                    v3_5.close();
                                }
                            } else {
                                v2_4.close();
                            }
                        } catch (String v0_3) {
                            Object[] v4_0 = new Object[1];
                            v4_0[0] = com.nokia.maps.bp.a(v0_3);
                            com.nokia.maps.bp.c(com.nokia.maps.MapSettings.c, "IOException \n%s", v4_0);
                            v0_1 = 0;
                        }
                        v0_1 = 0;
                    } catch (String v0_8) {
                        String v6_5 = new Object[1];
                        v6_5[0] = com.nokia.maps.bp.a(v0_8);
                        com.nokia.maps.bp.b(com.nokia.maps.MapSettings.c, "IOException \n%s", v6_5);
                        try {
                            if (v2_4 == null) {
                                if (v3_5 != null) {
                                    v3_5.close();
                                }
                            } else {
                                v2_4.close();
                            }
                        } catch (String v0_15) {
                            Object[] v4_10 = new Object[1];
                            v4_10[0] = com.nokia.maps.bp.a(v0_15);
                            com.nokia.maps.bp.c(com.nokia.maps.MapSettings.c, "IOException \n%s", v4_10);
                            v0_1 = 0;
                        }
                        v0_1 = 0;
                    }
                    if ((!v4_6.exists()) && (!v4_6.mkdirs())) {
                        Object[] v5_8 = new Object[0];
                        com.nokia.maps.bp.b(com.nokia.maps.MapSettings.c, "Could not create dir at override path location.", v5_8);
                        v0_1 = 0;
                    }
                    try {
                        if (v2_4 == null) {
                            if (v3_5 != null) {
                                v3_5.close();
                            }
                        } else {
                            v2_4.close();
                        }
                    } catch (String v0_6) {
                        Object[] v4_2 = new Object[1];
                        v4_2[0] = com.nokia.maps.bp.a(v0_6);
                        com.nokia.maps.bp.c(com.nokia.maps.MapSettings.c, "IOException \n%s", v4_2);
                        v0_1 = 0;
                    }
                } catch (String v0_5) {
                    v2_4 = 0;
                    try {
                        if (v2_4 == null) {
                            if (v3_5 != null) {
                                v3_5.close();
                            }
                        } else {
                            v2_4.close();
                        }
                    } catch (String v1_1) {
                        Object[] v4_1 = new Object[1];
                        v4_1[0] = com.nokia.maps.bp.a(v1_1);
                        com.nokia.maps.bp.c(com.nokia.maps.MapSettings.c, "IOException \n%s", v4_1);
                    }
                    throw v0_5;
                } catch (String v0_9) {
                    v2_4 = 0;
                } catch (String v0_8) {
                    v2_4 = 0;
                }
            } catch (String v0_5) {
                v2_4 = 0;
                v3_5 = 0;
            } catch (String v0_9) {
                v2_4 = 0;
                v3_5 = 0;
            } catch (String v0_8) {
                v2_4 = 0;
                v3_5 = 0;
            } catch (String v0_5) {
            }
        }
        return v0_1;
    }

Method com.nokia.maps.MapSettings.t() calling method java.io.File.<init>()


    private static java.io.File t()
    {
        return new java.io.File(new StringBuilder().append(android.os.Environment.getExternalStorageDirectory().getAbsolutePath()).append(java.io.File.separator).append(".here-maps").append(java.io.File.separator).append("path_override").toString());
    }

Method com.nokia.maps.MapSettings.f() calling method java.io.File.<init>()


    public static String f()
    {
        String v0_7;
        String v0_0 = com.nokia.maps.MapsEngine.f().getExternalFilesDir(0);
        if (v0_0 != null) {
            if (com.nokia.maps.MapSettings.e == 1) {
                v0_0 = new java.io.File(com.nokia.maps.MapSettings.d);
            }
            v0_7 = new StringBuilder().append(v0_0.getAbsolutePath()).append(java.io.File.separator).append("voices-download").append(java.io.File.separator).toString();
        } else {
            v0_7 = 0;
        }
        return v0_7;
    }

Method com.nokia.maps.MapImpl.a() calling method java.io.File.<init>()


    public static void a(String p1, String p2)
    {
        java.io.FileNotFoundException v0_1 = new java.io.File(p1);
        if ((p1 != null) && (v0_1.exists())) {
            java.io.FileNotFoundException v0_9 = new java.io.File(p2);
            if ((p2 == null) || (v0_9.exists())) {
                ark>com.nokia.maps.MapImplark>.w = p1;
                ark>com.nokia.maps.MapImplark>.x = p2;
                return;
            } else {
                throw new java.io.FileNotFoundException();
            }
        } else {
            throw new java.io.FileNotFoundException();
        }
    }

Method com.nokia.maps.CustomConfigurationsImpl.a() calling method java.io.File.<init>()


    public static void a(java.util.Hashtable p6)
    {
        if (!com.here.android.mpa.common.MapEngine.isInitialized()) {
            if ((p6 != null) && (!p6.isEmpty())) {
                if ((p6.containsKey(com.here.android.mpa.common.CustomConfigurations$Config.MAP) ^ p6.containsKey(com.here.android.mpa.common.CustomConfigurations$Config.MAP_RESOURCE)) == 0) {
                    String v2_0 = p6.entrySet().iterator();
                    while (v2_0.hasNext()) {
                        String v0_6 = ((java.util.Map$Entry) v2_0.next());
                        java.io.FileNotFoundException v1_3 = ((String) v0_6.getValue());
                        if (!v1_3.isEmpty()) {
                            if (!new java.io.File(v1_3).exists()) {
                                Object[] v3_4 = new Object[2];
                                v3_4[0] = v0_6.getValue();
                                v3_4[1] = v0_6.getKey();
                                throw new java.io.FileNotFoundException(String.format("Can\'t find configuration file \'%s\' for %s configuration type", v3_4));
                            }
                        } else {
                            throw new IllegalArgumentException("Config file name is empty");
                        }
                    }
                    ark>com.nokia.maps.CustomConfigurationsImplark>.a.putAll(p6);
                    return;
                } else {
                    throw new IllegalArgumentException("Config files of type MAP and MAP_RESOURCE must be set together");
                }
            } else {
                throw new IllegalArgumentException("Config files shouldn\'t be empty");
            }
        } else {
            throw new IllegalStateException("Map engine already initialized");
        }
    }

Method com.nokia.maps.ConnectionInfoImpl.a() calling method java.io.File.<init>()


    public static String a(boolean p11)
    {
        java.io.IOException v0_0 = 1;
        java.io.IOException v1_0 = 0;
        try {
            String v5_4 = new java.io.File(com.nokia.maps.MapSettings.c());
        } catch (java.io.IOException v0_3) {
            String v3_0 = 0;
            try {
                if (v3_0 == null) {
                    if (v1_0 != null) {
                        v1_0.close();
                    }
                } else {
                    v3_0.close();
                }
            } catch (java.io.IOException v1_1) {
                v1_1.printStackTrace();
            }
            throw v0_3;
        } catch (java.io.IOException v0_2) {
            java.io.IOException v2_2 = 0;
            v3_0 = 0;
            v0_2.printStackTrace();
            try {
                if (v3_0 != null) {
                    v3_0.close();
                }
            } catch (java.io.IOException v0_4) {
                v0_4.printStackTrace();
                java.io.IOException v0_5 = 0;
                v1_0 = v0_5;
                return v1_0;
            }
            if (v2_2 != null) {
                v2_2.close();
            }
            v0_5 = 0;
        } catch (java.io.IOException v0_3) {
            v1_0 = v2_2;
        }
        if ((v5_4.exists()) || (v5_4.mkdirs())) {
            java.io.IOException v2_4;
            String v5_1 = new java.io.File(com.nokia.maps.MapSettings.h());
            if (!v5_1.exists()) {
                v2_4 = 1;
                v3_0 = 0;
                v0_5 = 0;
            } else {
                if ((!p11) || ((System.currentTimeMillis() - v5_1.lastModified()) >= 604800000)) {
                    java.io.IOException v2_6 = new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(v5_1), "UTF-8"));
                    try {
                        String v3_4 = v2_6.readLine();
                    } catch (java.io.IOException v0_3) {
                        v3_0 = v2_6;
                    } catch (java.io.IOException v0_2) {
                        v3_0 = v2_6;
                        v2_2 = 0;
                    }
                    if ((v3_4 != null) && (v3_4.length() == 36)) {
                        v0_0 = 0;
                    }
                    if (v5_1.delete()) {
                        v0_5 = v3_4;
                        v3_0 = v2_6;
                        v2_4 = v0_0;
                    } else {
                        throw new java.io.IOException("Failed to delete DID file");
                    }
                } else {
                    try {
                        if (0 != 0) {
                            0.close();
                        }
                    } catch (java.io.IOException v0_9) {
                        v0_9.printStackTrace();
                        return v1_0;
                    }
                    if (0 == 0) {
                        return v1_0;
                    } else {
                        0.close();
                        return v1_0;
                    }
                }
            }
            try {
                if (v2_4 != null) {
                    v0_5 = java.util.UUID.randomUUID().toString();
                }
            } catch (java.io.IOException v0_3) {
            } catch (java.io.IOException v0_2) {
                v2_2 = 0;
            }
            v2_2 = new java.io.OutputStreamWriter(new java.io.FileOutputStream(v5_1), "UTF-8");
            try {
                v2_2.write(v0_5);
                try {
                    if (v3_0 != null) {
                        v3_0.close();
                    }
                } catch (java.io.IOException v1_2) {
                    v1_2.printStackTrace();
                }
                if (v2_2 == null) {
                } else {
                    v2_2.close();
                }
            } catch (java.io.IOException v0_2) {
            }
        } else {
            throw new java.io.IOException(new StringBuilder().append("Failed to create").append(v5_4.getName()).toString());
        }
    }

Method com.nokia.maps.AudioPlayer$c.run() calling method java.io.File.<init>()


    public void run()
    {
        try {
            while(true) {
                this.e.acquire();
                this.e.drainPermits();
                this.e.release();
            }
            while ((int v6_0.hasNext()) && ((this.d) && (this.b))) {
                java.io.IOException v1_24 = ((android.media.MediaPlayer) v6_0.next());
                try {
                    v1_24.start();
                    String v7_6 = v1_24.getDuration();
                    Thread.sleep(((long) (v7_6 + 10)));
                } catch (java.io.IOException v1) {
                } catch (java.io.IOException v1) {
                }
                if (!v6_0.hasNext()) {
                    int v2_8 = 0;
                    while ((v1_24.isPlaying()) && (v2_8 < v7_6)) {
                        Thread.sleep(50);
                        v2_8 += 50;
                    }
                }
            }
            int v2_9 = this.c.iterator();
            while (v2_9.hasNext()) {
                this.a(((android.media.MediaPlayer) v2_9.next()));
            }
            this.c.clear();
            if (this.b == 1) {
                this.b = 0;
                this.c();
            }
            if (!com.nokia.maps.AudioPlayer.f()) {
                int v6_1 = java.util.concurrent.Semaphore v0_1.length;
                int v2_0 = 0;
                while (v2_0 < v6_1) {
                    java.io.IOException v1_28 = v0_1[v2_0];
                    if (v1_28.contains("/gen/")) {
                        try {
                            String v7_10 = new java.io.File(v1_28);
                        } catch (java.io.IOException v1_1) {
                            Object[] v9_2 = new Object[1];
                            v9_2[0] = v1_1;
                            com.nokia.maps.bp.b("AudioPlayer", "exception %s", v9_2);
                        }
                        if (!v7_10.delete()) {
                            throw new java.io.IOException(new StringBuilder().append("Failed to delete ").append(v7_10.getName()).toString());
                        }
                    }
                    v2_0++;
                }
            }
            if (int v4_1 != 0) {
            }
        } catch (java.util.concurrent.Semaphore v0_4) {
            throw v0_4;
        } catch (java.util.concurrent.Semaphore v0_3) {
            int v4_0 = new Object[1];
            v4_0[0] = v0_3;
            com.nokia.maps.bp.b("AudioPlayer", "exception %s", v4_0);
        }
        if (this.d) {
            v0_1 = ((String[]) this.f.remove());
            this.g = v0_1.length;
            if (this.f.size() <= 0) {
                v4_1 = 0;
            } else {
                v4_1 = 1;
            }
            this.b = 1;
            int v2_3 = 0;
            while (v2_3 < this.g) {
                String v7_5 = new android.media.MediaPlayer();
                v7_5.setAudioStreamType(com.nokia.maps.AudioPlayer.d());
                if (com.nokia.maps.AudioPlayer.e() != -1082130432) {
                    v7_5.setVolume(com.nokia.maps.AudioPlayer.e(), com.nokia.maps.AudioPlayer.e());
                }
                String v8_6 = v0_1[v2_3].toCharArray();
                Object[] v9_3 = v8_6.length;
                java.io.IOException v1_10 = 0;
                while (v1_10 < v9_3) {
                    if (v8_6[v1_10] == 92) {
                        v8_6[v1_10] = 47;
                    }
                    v1_10++;
                }
                v7_5.setDataSource(new String(v8_6));
                v7_5.prepare();
                this.c.add(v7_5);
                v2_3++;
            }
            this.g = 0;
            this.b();
            v6_0 = this.c.iterator();
        } else {
            return;
        }
    }

Method com.here.services.playback.internal.PlaybackOptions.setPlaybackFile() calling method java.io.File.<init>()


    public com.here.services.playback.internal.PlaybackOptions setPlaybackFile(String p2)
    {
        this.mPlaybackFile = new java.io.File(p2);
        if (this.mPlaybackFile.exists()) {
            return this;
        } else {
            throw new java.io.FileNotFoundException(p2);
        }
    }

Method com.here.services.playback.MeasurementPlaybackApi$Options.<init>() calling method java.io.File.<init>()


    public MeasurementPlaybackApi$Options(String p4)
    {
        this.mTechnologies = -1;
        this.mMode = com.here.services.playback.MeasurementPlaybackApi$Mode.Scheduling;
        this.mRepeat = 0;
        this.mFastforwardLongBreaks = 0;
        this.mBleTagTypes = -1;
        this.mPlaybackFile = new java.io.File(p4);
        if (this.mPlaybackFile.exists()) {
            return;
        } else {
            throw new java.io.FileNotFoundException(new StringBuilder().append("file \'").append(p4).append("\' does not exist!").toString());
        }
    }

Method com.here.sdk.analytics.internal.i.open() calling method java.io.File.<init>()


    public declared_synchronized boolean open(String p5)
    {
        int v0_0 = 0;
        try {
            if (this.c == null) {
                this.d = new java.io.File(new StringBuilder().append(this.e.getApplicationInfo().dataDir).append("/app_segment-disk-queue").toString(), p5);
                if (this.d.exists()) {
                    try {
                        this.c = new com.here.sdk.analytics.internal.a.b(this.d);
                        v0_0 = 1;
                    } catch (java.io.IOException v1_6) {
                        com.here.sdk.analytics.internal.g.a(com.here.sdk.analytics.internal.i.a, "Error opening segment database", v1_6);
                    }
                }
            } else {
                com.here.sdk.analytics.internal.g.c(com.here.sdk.analytics.internal.i.a, "Segment Database Migrator is already open");
            }
        } catch (int v0_1) {
            throw v0_1;
        }
        return v0_0;
    }

Method com.here.sdk.analytics.internal.h.openDatabase() calling method java.io.File.<init>()


    public boolean openDatabase(boolean p6)
    {
        int v0 = 0;
        if (this.e == null) {
            com.here.sdk.analytics.internal.g.b(com.here.sdk.analytics.internal.h.a, "Opening sqlite database");
            if ((p6) || (new java.io.File(this.c).exists())) {
                try {
                    this.e = new com.here.sdk.analytics.a.e(this.b, this.c, new com.here.sdk.analytics.internal.h$1(this)).getWritableDatabase();
                    com.here.sdk.analytics.internal.g.b(com.here.sdk.analytics.internal.h.a, new StringBuilder().append("Writable instance of database has been retrieved: ").append(this.e).toString());
                    v0 = 1;
                } catch (android.database.sqlite.SQLiteException v1_7) {
                    com.here.sdk.analytics.internal.g.a(com.here.sdk.analytics.internal.h.a, "Error opening database", v1_7);
                }
            } else {
                com.here.sdk.analytics.internal.g.c(com.here.sdk.analytics.internal.h.a, "Database does not exist and cannot be open");
            }
        } else {
            com.here.sdk.analytics.internal.g.c(com.here.sdk.analytics.internal.h.a, "Database is already open");
        }
        return v0;
    }

Method com.here.sdk.analytics.internal.a.b.a() calling method java.io.File.<init>()


    private static void a(java.io.File p5)
    {
        java.io.IOException v0_1 = new java.io.File(new StringBuilder().append(p5.getPath()).append(".tmp").toString());
        String v1_2 = ark>com.here.sdk.analytics.internal.a.bark>.b(v0_1);
        try {
            v1_2.setLength(4096);
            v1_2.seek(0);
            byte[] v2_3 = new byte[16];
            ark>com.here.sdk.analytics.internal.a.bark>.a(v2_3, 0, 4096);
            v1_2.write(v2_3);
            v1_2.close();
        } catch (java.io.IOException v0_3) {
            v1_2.close();
            throw v0_3;
        }
        if (v0_1.renameTo(p5)) {
            return;
        } else {
            throw new java.io.IOException("Rename failed!");
        }
    }

Method com.here.odnp.util.OdnpFileManager.getDataDir() calling method java.io.File.<init>()


    public static java.io.File getDataDir(android.content.Context p3)
    {
        java.io.File v0_2;
        if (!android.os.Environment.isExternalStorageRemovable()) {
            v0_2 = new java.io.File(android.os.Environment.getExternalStorageDirectory(), ".here-positioning");
        } else {
            v0_2 = com.here.odnp.util.OdnpFileManager.getPrivateDir(p3);
        }
        return v0_2;
    }

Method com.here.odnp.util.OdnpFileManager.copy() calling method java.io.File.<init>()


    public static boolean copy(java.io.File p7, java.io.File p8)
    {
        int v0 = 0;
        if (!p7.isDirectory()) {
            com.here.odnp.util.OdnpFileManager.copyData(p7, p8);
            v0 = 1;
        } else {
            if ((p8.isDirectory()) || (p8.mkdirs())) {
                java.io.File[] v2 = p7.listFiles();
                if (v2 != null) {
                    int v1_0 = 0;
                    while (v1_0 < v2.length) {
                        boolean v4_0 = v2[v1_0];
                        if (com.here.odnp.util.OdnpFileManager.copy(v4_0, new java.io.File(p8, v4_0.getName()))) {
                            v1_0++;
                        }
                    }
                }
            }
        }
        return v0;
    }

Method com.here.odnp.util.OdnpAssetManager.copyAsset() calling method java.io.File.<init>()


    public static boolean copyAsset(android.content.Context p7, com.here.odnp.util.OdnpAssetManager$Asset p8)
    {
        java.io.IOException v0_0 = 1;
        Throwable v1_0 = 0;
        java.io.File v4_1 = new java.io.File(com.here.odnp.util.OdnpFileManager.getPrivateDir(p7), p8.getName());
        if ((!v4_1.exists()) || (p8.getOverwrite())) {
            try {
                java.io.BufferedInputStream v5_1 = new java.io.BufferedInputStream(p7.getAssets().open(p8.getName()));
                boolean v2_3 = v4_1.getParentFile();
            } catch (boolean v2) {
                if (p8.getRequired()) {
                    v0_0 = 0;
                }
            }
            if (v2_3) {
                if ((v2_3.exists()) || (v2_3.mkdirs())) {
                    boolean v3_2 = 0;
                    try {
                        boolean v2_8 = new java.io.BufferedOutputStream(new java.io.FileOutputStream(v4_1));
                        try {
                            com.here.odnp.util.OdnpIOUtils.copy(v5_1, v2_8);
                            java.io.IOException v0_2 = (1 & com.here.odnp.util.OdnpIOUtils.close(v5_1));
                            v1_0 = com.here.odnp.util.OdnpIOUtils.close(v2_8);
                            v0_0 = (v0_2 & v1_0);
                        } catch (Throwable v1_1) {
                            v3_2 = v2_8;
                            com.here.odnp.util.OdnpIOUtils.close(v5_1);
                            com.here.odnp.util.OdnpIOUtils.close(v3_2);
                            throw v1_1;
                        } catch (java.io.IOException v0) {
                            java.io.IOException v0_1 = v2_8;
                            v0_0 = (com.here.odnp.util.OdnpIOUtils.close(v0_1) & (v1_0 & com.here.odnp.util.OdnpIOUtils.close(v5_1)));
                        } catch (java.io.IOException v0) {
                            v3_2 = v2_8;
                            v0_0 = ((com.here.odnp.util.OdnpIOUtils.close(v5_1) & v1_0) & com.here.odnp.util.OdnpIOUtils.close(v3_2));
                        }
                    } catch (Throwable v1_1) {
                    } catch (java.io.IOException v0) {
                        v0_1 = 0;
                    } catch (java.io.IOException v0) {
                    }
                } else {
                    com.here.odnp.util.OdnpIOUtils.close(v5_1);
                    v0_0 = 0;
                }
            } else {
                com.here.odnp.util.OdnpIOUtils.close(v5_1);
                v0_0 = 0;
            }
        }
        return v0_0;
    }

Method com.here.network.NetworkSSLContextFactory.generateSSlContext() calling method java.io.File.<init>()


    private void generateSSlContext()
    {
        if (this.m_certificateFactory != null) {
            try {
                int v2_1 = java.security.KeyStore.getInstance(java.security.KeyStore.getDefaultType());
                v2_1.load(0, 0);
                int v3_0 = this.getListFiles(new java.io.File(this.m_certificatesPath));
                int v1_1 = 0;
            } catch (int v0_15) {
                android.util.Log.e("NetworkSSLContextFactory", new StringBuilder().append("failed to generate ssl context ").append(v0_15).toString());
            }
            while (v1_1 < v3_0.size()) {
                int v0_9 = ((java.io.File) v3_0.get(v1_1));
                String v4_0 = this.loadCertificate(v0_9);
                if (v4_0 == null) {
                    android.util.Log.e("NetworkSSLContextFactory", new StringBuilder().append("invalid certificate file ").append(v0_9.getName()).toString());
                } else {
                    v2_1.setCertificateEntry(v0_9.getName(), v4_0);
                }
                v1_1++;
            }
            int v0_5 = javax.net.ssl.TrustManagerFactory.getInstance(javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm());
            v0_5.init(v2_1);
            this.m_sslContext = javax.net.ssl.SSLContext.getInstance("TLS");
            this.m_sslContext.init(0, v0_5.getTrustManagers(), 0);
        } else {
            android.util.Log.w("NetworkSSLContextFactory", "generateSSlContext failed since certificateFactory is null");
        }
        return;
    }

Method com.here.android.mpa.service.MapService.onStartCommand() calling method java.io.File.<init>()


    public int onStartCommand(android.content.Intent p9, int p10, int p11)
    {
        int v0_0 = 3;
        java.util.concurrent.Semaphore v1_15 = 0;
        try {
            if (!p9.getBooleanExtra("nukeservice", 0)) {
                if ((this.g == 1) && (this.p != null)) {
                    int v2_15 = p9.getStringExtra("diskcachepath");
                    if ((!new java.io.File(this.p).exists()) && (this.p.compareTo(v2_15) != 0)) {
                        this.f.drainPermits();
                        com.nokia.maps.MapServiceClient.stopServer();
                        this.g = 0;
                        this.u = 0;
                    }
                }
                if (!this.g) {
                    this.m = p9.getStringExtra("mapdataserverurl");
                    this.n = p9.getStringExtra("mapsatelliteserverurl");
                    this.o = p9.getStringExtra("terrainserverurl");
                    this.p = p9.getStringExtra("diskcachepath");
                    this.q = p9.getStringExtra("sliserverurl");
                    this.r = p9.getShortExtra("mapvariant", 0);
                    com.here.android.mpa.service.MapService.k = p9.getBooleanExtra("USESSL", 1);
                    v0_0 = p9.getIntExtra("shutdownmode", 3);
                    if ((this.m == null) || (this.m.length() == 0)) {
                        this.m = "hybrid.api.here.com";
                    }
                    if ((this.n == null) || (this.n.length() == 0)) {
                        this.n = "http://1.sps.data.here.com";
                    }
                    if ((this.o == null) || (this.o.length() == 0)) {
                        this.o = "http://hterrain.mfs.data.here.com";
                    }
                    if ((this.q == null) || (this.q.length() == 0)) {
                        this.q = "sli.data.here.com";
                    }
                    if ((this.p == null) || (this.p.length() == 0)) {
                        this.p = com.nokia.maps.MapSettings.b();
                    }
                    if (p9.getBooleanExtra("isolated_diskcache_enabled", 0)) {
                        this.s = p9.getStringExtra("client_app_id");
                        this.t = p9.getStringExtra("client_app_token");
                    }
                    int v2_12 = com.here.android.mpa.service.MapService.j;
                    Object[] v3_1 = v2_12.length;
                    while (v1_15 < v3_1) {
                        int v4_2 = v2_12[v1_15];
                        try {
                            System.loadLibrary(v4_2);
                        } catch (String v5) {
                            if (v4_2.compareTo(com.here.android.mpa.service.MapService.j[3]) == 0) {
                            } else {
                                if (v4_2.compareTo(com.here.android.mpa.service.MapService.j[4]) == 0) {
                                } else {
                                    if (v4_2.compareTo(com.here.android.mpa.service.MapService.j[5]) != 0) {
                                    } else {
                                    }
                                }
                            }
                        } catch (int v4) {
                        }
                        v1_15++;
                    }
                    com.nokia.maps.BaseNativeObject.w();
                    com.nokia.maps.ApplicationContext.b(this.getApplicationContext());
                    if (android.os.Build$VERSION.SDK_INT == 15) {
                        com.here.network.NetworkProtocol.setAppContext(this.getApplicationContext());
                    }
                    if (!new java.io.File(this.p).mkdirs()) {
                        Object[] v3_6 = new Object[0];
                        com.nokia.maps.bp.f("MapService", new StringBuilder().append("Failed to mkdirs() for ").append(this.p).toString(), v3_6);
                    }
                    com.nokia.maps.SSLCertManager.a(this.getApplicationContext());
                    if (this.e == 0) {
                        this.e = (new java.util.Random().nextInt(1000) + 25000);
                    }
                    this.g = 1;
                    this.f.release();
                }
            } else {
                int v0_1 = this.g;
                this.g = 0;
                this.u = 0;
                if (v0_1 == 1) {
                    com.nokia.maps.MapServiceClient.stopServer();
                }
                this.stopSelf();
                System.exit(0);
                v0_0 = 2;
            }
        } catch (int v0_3) {
            throw v0_3;
        }
        return v0_0;
    }

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

Method com.here.sdk.analytics.internal.a.b.b() calling method java.io.RandomAccessFile.<init>()


    private static java.io.RandomAccessFile b(java.io.File p2)
    {
        return new java.io.RandomAccessFile(p2, "rwd");
    }

Method com.nokia.maps.s.t() calling method android.content.Context.openFileOutput()


    private void t()
    {
        Object[] v2_4 = new Object[0];
        com.nokia.maps.bp.a(com.nokia.maps.s.l, "save()", v2_4);
        try {
            this.m.put("lastAccess", com.nokia.maps.o.a(this.s));
            this.m.put("sdkStarted", com.nokia.maps.o.a(this.r));
            this.m.put("sdkUsed", this.t);
            this.m.put("eventCount", this.q);
            this.q();
            java.io.IOException v0_1 = this.p.openFileOutput("cd63818e-a03d-11e4-89d3-123b93f75cba", 0);
        } catch (java.io.IOException v1_5) {
            java.io.IOException v1_6 = v0_1;
            java.io.IOException v0_2 = v1_5;
            if (v1_6 != null) {
                try {
                    v1_6.close();
                } catch (java.io.IOException v1) {
                }
            }
            throw v0_2;
        } catch (java.io.IOException v1) {
            Object[] v3_10 = new Object[0];
            com.nokia.maps.bp.c(com.nokia.maps.s.l, "Could not create file to save tracking session", v3_10);
            if (v0_1 == null) {
                Object[] v2_14 = new Object[0];
                com.nokia.maps.bp.a(com.nokia.maps.s.l, new StringBuilder().append("saved: ").append(this.m.toString()).toString(), v2_14);
                return;
            } else {
                try {
                    v0_1.close();
                } catch (java.io.IOException v0) {
                }
                v2_14 = new Object[0];
                com.nokia.maps.bp.a(com.nokia.maps.s.l, new StringBuilder().append("saved: ").append(this.m.toString()).toString(), v2_14);
                return;
            }
        } catch (java.io.IOException v1) {
            Object[] v3_8 = new Object[0];
            com.nokia.maps.bp.c(com.nokia.maps.s.l, "Could not create file to save tracking session", v3_8);
            if (v0_1 == null) {
                v2_14 = new Object[0];
                com.nokia.maps.bp.a(com.nokia.maps.s.l, new StringBuilder().append("saved: ").append(this.m.toString()).toString(), v2_14);
                return;
            } else {
                try {
                    v0_1.close();
                } catch (java.io.IOException v0) {
                }
                v2_14 = new Object[0];
                com.nokia.maps.bp.a(com.nokia.maps.s.l, new StringBuilder().append("saved: ").append(this.m.toString()).toString(), v2_14);
                return;
            }
        } catch (java.io.IOException v1_14) {
            v1_6 = v0_1;
            v0_2 = v1_14;
        }
        v0_1.write(this.m.toString().getBytes(java.nio.charset.Charset.forName("UTF-8")));
        this.m.put("data", this.n);
        if (v0_1 == null) {
            v2_14 = new Object[0];
            com.nokia.maps.bp.a(com.nokia.maps.s.l, new StringBuilder().append("saved: ").append(this.m.toString()).toString(), v2_14);
            return;
        } else {
            try {
                v0_1.close();
            } catch (java.io.IOException v0) {
            }
            v2_14 = new Object[0];
            com.nokia.maps.bp.a(com.nokia.maps.s.l, new StringBuilder().append("saved: ").append(this.m.toString()).toString(), v2_14);
            return;
        }
    }