Info Call to Socket API

Description

List of all calls to Server Socket API.

Recommendation

This entry is informative, no recommendations applicable.

Technical details

Method plugin.google.maps.PluginKmlOverlay.getKmlContents() calling method java.net.URL.<init>()


    private java.io.InputStream getKmlContents(String p13)
    {
        try {
            if ((!p13.startsWith("http://")) && (!p13.startsWith("https://"))) {
                if (((p13.indexOf("file://") != 0) || (p13.contains("file:///android_asset/"))) && (p13.indexOf("/") != 0)) {
                    if (p13.indexOf("file:///android_asset/") == 0) {
                        p13 = p13.replace("file:///android_asset/", "");
                    }
                    try {
                        boolean v4_0 = p13.startsWith("/");
                        String v13_1 = new java.io.File(p13).getCanonicalPath();
                    } catch (Exception v1_1) {
                        v1_1.printStackTrace();
                        java.io.InputStream v3_0 = this.cordova.getActivity().getResources().getAssets().open(v13_1);
                    }
                    if (v4_0) {
                    } else {
                        v13_1 = v13_1.substring(1);
                    }
                } else {
                    String v13_2 = p13.replace("file://", "");
                    try {
                        boolean v4_1 = v13_2.startsWith("/");
                        String v13_3 = new java.io.File(v13_2).getCanonicalPath();
                    } catch (Exception v1_2) {
                        v1_2.printStackTrace();
                        v3_0 = new java.io.FileInputStream(v13_3);
                    }
                    if (v4_1) {
                    } else {
                        v13_3 = v13_3.substring(1);
                    }
                }
            } else {
                java.net.URL v9_1 = new java.net.URL(p13);
                int v5 = 1;
                java.net.HttpURLConnection v2_0 = 0;
                String v0 = 0;
                int v6 = 0;
                while ((v5 != 0) && (v6 < 10)) {
                    v5 = 0;
                    v2_0 = ((java.net.HttpURLConnection) v9_1.openConnection());
                    v2_0.setRequestMethod("GET");
                    if (v0 != null) {
                        v2_0.setRequestProperty("Cookie", v0);
                    }
                    v2_0.addRequestProperty("Accept-Language", "en-US,en;q=0.8");
                    v2_0.addRequestProperty("User-Agent", "Mozilla");
                    v2_0.setInstanceFollowRedirects(1);
                    java.net.HttpURLConnection.setFollowRedirects(1);
                    int v8 = v2_0.getResponseCode();
                    if ((v8 != 200) && ((v8 == 302) || ((v8 == 301) || (v8 == 303)))) {
                        v5 = 1;
                    }
                    if (v5 != 0) {
                        v9_1 = new java.net.URL(v2_0.getHeaderField("Location"));
                        v0 = v2_0.getHeaderField("Set-Cookie");
                        v2_0.disconnect();
                        v6++;
                    }
                }
                v3_0 = v2_0.getInputStream();
            }
        } catch (Exception v1_0) {
            v1_0.printStackTrace();
            v3_0 = 0;
        }
        return v3_0;
    }

Method plugin.google.maps.PluginTileProvider.getTile() calling method java.net.URL.<init>()


    public com.google.android.gms.maps.model.Tile getTile(int p40, int p41, int p42)
    {
        com.google.android.gms.maps.model.Tile v32;
        if (!this.isRemoved) {
            String v7 = 0;
            byte[] v5_20 = new Object[5];
            v5_20[0] = this.mapId;
            v5_20[1] = this.pluginId;
            v5_20[2] = Integer.valueOf(p40);
            v5_20[3] = Integer.valueOf(p41);
            v5_20[4] = Integer.valueOf(p42);
            String v37 = String.format(java.util.Locale.US, "%s-%s-%d-%d-%d", v5_20);
            try {
                int v6_5 = new Object[6];
                v6_5[0] = this.mapId;
                v6_5[1] = this.pluginId;
                v6_5[2] = v37;
                v6_5[3] = Integer.valueOf(p40);
                v6_5[4] = Integer.valueOf(p41);
                v6_5[5] = Integer.valueOf(p42);
                this.handler.post(new plugin.google.maps.PluginTileProvider$1(this, String.format(java.util.Locale.ENGLISH, "javascript:if(window.cordova){cordova.fireDocumentEvent(\'%s-%s-tileoverlay\', {key: \"%s\", x: %d, y: %d, zoom: %d});}", v6_5)));
                try {
                    this.semaphore.wait(1000);
                } catch (java.io.IOException v22_1) {
                    v22_1.printStackTrace();
                    v32 = 0;
                }
                String v38_0 = ((String) this.tileUrlMap.remove(v37));
                v7 = v38_0;
                v32 = 0;
                if ((v38_0 != null) && (!"(null)".equals(v38_0))) {
                    if ((v38_0.startsWith("http://localhost")) || (v38_0.startsWith("http://127.0.0.1"))) {
                        if (!v38_0.contains("://")) {
                            v38_0 = "file:///android_asset/www/".concat(v38_0);
                        } else {
                            v38_0 = v38_0.replaceAll("http://.+?/", "file:///android_asset/www/");
                        }
                    }
                    java.io.InputStream v25_0 = 0;
                    try {
                        if ((!v38_0.startsWith("http://")) && (!v38_0.startsWith("https://"))) {
                            if ((!v38_0.contains("://")) && ((!v38_0.startsWith("/")) && ((!v38_0.startsWith("www/")) && ((!v38_0.startsWith("./")) && (!v38_0.startsWith("../")))))) {
                                v38_0 = new StringBuilder().append("./").append(v38_0).toString();
                            }
                            if ((v38_0.startsWith("./")) || (v38_0.startsWith("../"))) {
                                v38_0 = new StringBuilder().append(this.webPageUrl.replaceAll("[^\\/]*$", "")).append("/").append(v38_0.replace("././", "./")).toString();
                            }
                            String v18_0 = new StringBuilder().append(new java.io.File(v38_0).hashCode()).append("").toString();
                            android.graphics.Bitmap v19_1 = ((android.graphics.Bitmap) plugin.google.maps.PluginTileProvider.tileCache.get(v18_0));
                            if ((v19_1 == null) || (v19_1.isRecycled())) {
                                if ((v38_0.indexOf("file://") != 0) || (v38_0.contains("file:///android_asset/"))) {
                                    if (v38_0.indexOf("file:///android_asset/") == 0) {
                                        v38_0 = v38_0.replace("file:///android_asset/", "");
                                    }
                                    if (v38_0.contains("./")) {
                                        try {
                                            boolean v26 = v38_0.startsWith("/");
                                            java.io.File v30 = new java.io.File;
                                            v30(v38_0);
                                            v38_0 = v30.getCanonicalPath();
                                        } catch (java.util.HashSet v2) {
                                        }
                                        if (!v26) {
                                            v38_0 = v38_0.substring(1);
                                        }
                                    }
                                    try {
                                        android.graphics.Bitmap v24_0 = android.graphics.BitmapFactory.decodeStream(this.assetManager.open(v38_0));
                                        android.graphics.Bitmap v35 = v24_0.copy(android.graphics.Bitmap$Config.ARGB_8888, 1);
                                        v24_0.recycle();
                                        android.graphics.Bitmap v24_1 = v35;
                                    } catch (java.io.IOException v22) {
                                        v32 = 0;
                                        return v32;
                                    }
                                } else {
                                    String v38_2 = v38_0.replace("file://", "");
                                    java.io.File v34 = new java.io.File;
                                    v34(v38_2);
                                    if (!v34.exists()) {
                                        v32 = 0;
                                        return v32;
                                    } else {
                                        v24_1 = android.graphics.BitmapFactory.decodeFile(v38_2);
                                    }
                                }
                                if (v24_1 == null) {
                                    return v32;
                                } else {
                                    if ((v24_1.getWidth() == this.tileSize) && (v24_1.getHeight() == this.tileSize)) {
                                        plugin.google.maps.PluginTileProvider.tileCache.put(v18_0, v24_1.copy(android.graphics.Bitmap$Config.ARGB_8888, 1));
                                        if (this.isDebug) {
                                            this.drawDebugInfo(v24_1, p40, p41, p42, v7);
                                        }
                                        com.google.android.gms.maps.model.Tile v33_0 = new com.google.android.gms.maps.model.Tile;
                                        v33_0(this.tileSize, this.tileSize, this.bitmapToByteArray(v24_1));
                                        v32 = v33_0;
                                    } else {
                                        android.graphics.Bitmap v11_0 = this.resizeForTile(v24_1);
                                        plugin.google.maps.PluginTileProvider.tileCache.put(v18_0, v11_0.copy(android.graphics.Bitmap$Config.ARGB_8888, 1));
                                        if (this.isDebug) {
                                            this.drawDebugInfo(v11_0, p40, p41, p42, v7);
                                        }
                                        com.google.android.gms.maps.model.Tile v33_1 = new com.google.android.gms.maps.model.Tile;
                                        v33_1(this.tileSize, this.tileSize, this.bitmapToByteArray(v11_0));
                                        v11_0.recycle();
                                        v32 = v33_1;
                                    }
                                    v24_1.recycle();
                                    this.cacheKeys.add(v18_0);
                                    return v32;
                                }
                            } else {
                                if (!this.isDebug) {
                                    com.google.android.gms.maps.model.Tile v33_2 = new com.google.android.gms.maps.model.Tile;
                                    v33_2(this.tileSize, this.tileSize, this.bitmapToByteArray(v19_1));
                                    v32 = v33_2;
                                    return v32;
                                } else {
                                    android.graphics.Bitmap v9_0 = v19_1.copy(android.graphics.Bitmap$Config.ARGB_8888, 1);
                                    this.drawDebugInfo(v9_0, p40, p41, p42, v7);
                                    v19_1.recycle();
                                    v33_1 = new com.google.android.gms.maps.model.Tile;
                                    v33_1(this.tileSize, this.tileSize, this.bitmapToByteArray(v9_0));
                                    v9_0.recycle();
                                    v32 = v33_1;
                                    return v32;
                                }
                            }
                        } else {
                            int v28 = 1;
                            java.net.URL v36 = new java.net.URL;
                            v36(v38_0);
                            String v18_1 = new StringBuilder().append(v36.hashCode()).append("").toString();
                            android.graphics.Bitmap v19_3 = ((android.graphics.Bitmap) plugin.google.maps.PluginTileProvider.tileCache.get(v18_1));
                            if ((v19_3 == null) || (v19_3.isRecycled())) {
                                java.net.HttpURLConnection v23_0 = 0;
                                String v20 = 0;
                                int v29 = 0;
                                while ((v28 != 0) && (v29 < 10)) {
                                    v28 = 0;
                                    v23_0 = ((java.net.HttpURLConnection) v36.openConnection());
                                    v23_0.setRequestMethod("GET");
                                    v23_0.setReadTimeout(3000);
                                    v23_0.setConnectTimeout(3000);
                                    if (v20 != null) {
                                        v23_0.setRequestProperty("Cookie", v20);
                                    }
                                    v23_0.addRequestProperty("Accept-Language", "en-US,en;q=0.8");
                                    v23_0.addRequestProperty("User-Agent", this.userAgent);
                                    v23_0.setInstanceFollowRedirects(1);
                                    java.net.HttpURLConnection.setFollowRedirects(1);
                                    int v31 = v23_0.getResponseCode();
                                    if ((v31 != 200) && ((v31 == 302) || ((v31 == 301) || (v31 == 303)))) {
                                        v28 = 1;
                                    }
                                    if (v28 != 0) {
                                        v36 = new java.net.URL;
                                        v36(v23_0.getHeaderField("Location"));
                                        v20 = v23_0.getHeaderField("Set-Cookie");
                                        v23_0.disconnect();
                                        v29++;
                                    }
                                }
                                if (v23_0 != null) {
                                    v25_0 = v23_0.getInputStream();
                                    android.graphics.Bitmap v24_2 = android.graphics.BitmapFactory.decodeStream(v25_0);
                                    if (v24_2 != null) {
                                        if ((v24_2.getWidth() == this.tileSize) && (v24_2.getHeight() == this.tileSize)) {
                                            plugin.google.maps.PluginTileProvider.tileCache.put(v18_1, v24_2.copy(android.graphics.Bitmap$Config.ARGB_8888, 1));
                                            if (this.isDebug) {
                                                this.drawDebugInfo(v24_2, p40, p41, p42, v7);
                                            }
                                            com.google.android.gms.maps.model.Tile v33_3 = new com.google.android.gms.maps.model.Tile;
                                            v33_3(this.tileSize, this.tileSize, this.bitmapToByteArray(v24_2));
                                            v32 = v33_3;
                                        } else {
                                            android.graphics.Bitmap v11_1 = this.resizeForTile(v24_2);
                                            plugin.google.maps.PluginTileProvider.tileCache.put(v18_1, v11_1.copy(android.graphics.Bitmap$Config.ARGB_8888, 1));
                                            if (this.isDebug) {
                                                this.drawDebugInfo(v11_1, p40, p41, p42, v7);
                                            }
                                            v33_1 = new com.google.android.gms.maps.model.Tile;
                                            v33_1(this.tileSize, this.tileSize, this.bitmapToByteArray(v11_1));
                                            v11_1.recycle();
                                            v32 = v33_1;
                                        }
                                        this.cacheKeys.add(v18_1);
                                        v24_2.recycle();
                                    }
                                    v23_0.disconnect();
                                }
                                v25_0.close();
                                return v32;
                            } else {
                                if (!this.isDebug) {
                                    com.google.android.gms.maps.model.Tile v33_4 = new com.google.android.gms.maps.model.Tile;
                                    v33_4(this.tileSize, this.tileSize, this.bitmapToByteArray(v19_3));
                                    v32 = v33_4;
                                    return v32;
                                } else {
                                    android.graphics.Bitmap v9_1 = v19_3.copy(android.graphics.Bitmap$Config.ARGB_8888, 1);
                                    this.drawDebugInfo(v9_1, p40, p41, p42, v7);
                                    v33_1 = new com.google.android.gms.maps.model.Tile;
                                    v33_1(this.tileSize, this.tileSize, this.bitmapToByteArray(v9_1));
                                    v9_1.recycle();
                                    v32 = v33_1;
                                    return v32;
                                }
                            }
                        }
                    } catch (java.io.IOException v22_0) {
                    } catch (java.io.IOException v22_0) {
                    }
                    v22_0.printStackTrace();
                    v32 = 0;
                } else {
                    if (!this.isDebug) {
                        v32 = 0;
                    } else {
                        if (this.emptyBitmap == null) {
                            this.emptyBitmap = android.graphics.Bitmap.createBitmap(this.tileSize, this.tileSize, android.graphics.Bitmap$Config.ARGB_8888);
                        }
                        android.graphics.Bitmap v3 = this.emptyBitmap.copy(android.graphics.Bitmap$Config.ARGB_8888, 1);
                        this.drawDebugInfo(v3, p40, p41, p42, v7);
                        v32 = new com.google.android.gms.maps.model.Tile;
                        v32(this.tileSize, this.tileSize, this.bitmapToByteArray(v3));
                        v3.recycle();
                    }
                }
            } catch (java.util.HashSet v2_117) {
                throw v2_117;
            }
        } else {
            v32 = 0;
        }
        return v32;
    }

Method plugin.google.maps.AsyncLoadImage.doInBackground() calling method java.net.URL.<init>()


    protected varargs plugin.google.maps.AsyncLoadImage$AsyncLoadImageResult doInBackground(Void[] p49)
    {
        plugin.google.maps.AsyncLoadImage$AsyncLoadImageResult v37_0;
        int v22_1 = this.mOptions.width;
        int v21_0 = this.mOptions.height;
        String v15_0 = this.mOptions.url;
        String v30 = v15_0;
        if (v15_0 != null) {
            String v7_2 = plugin.google.maps.AsyncLoadImage.getCacheKey(v30, v22_1, v21_0);
            android.graphics.Bitmap v16_1 = plugin.google.maps.AsyncLoadImage.getBitmapFromMemCache(v7_2);
            if (v16_1 == null) {
                if (!v15_0.startsWith("data:image")) {
                    if ((this.currentPageUrl.startsWith("http://localhost")) || (this.currentPageUrl.startsWith("http://127.0.0.1"))) {
                        if (!v15_0.contains("://")) {
                            v15_0 = "file:///android_asset/www/".concat(v15_0);
                        } else {
                            v15_0 = v15_0.replaceAll("http://.+?/", "file:///android_asset/www/");
                        }
                    }
                    if ((!v15_0.contains("://")) && ((!v15_0.startsWith("/")) && ((!v15_0.startsWith("www/")) && ((!v15_0.startsWith("data:image")) && ((!v15_0.startsWith("./")) && (!v15_0.startsWith("../"))))))) {
                        v15_0 = new StringBuilder().append("./").append(v15_0).toString();
                    }
                    if ((v15_0.startsWith("./")) || (v15_0.startsWith("../"))) {
                        String v15_1 = v15_0.replace("(\\.\\/)+", "./");
                        String v10_3 = this.currentPageUrl.replaceAll("[^\\/]*$", "").replaceAll("#.*$", "").replaceAll("\\/[^\\/]+\\.[^\\/]+$", "");
                        if (!v10_3.endsWith("/")) {
                            v10_3 = new StringBuilder().append(v10_3).append("/").toString();
                        }
                        v15_0 = new StringBuilder().append(v10_3).append(v15_1).toString().replaceAll("(\\/\\.\\/+)+", "/");
                    }
                    if ((v15_0.indexOf("file://") != 0) || (v15_0.contains("file:///android_asset/"))) {
                        if (v15_0.contains("./")) {
                            try {
                                boolean v20 = v15_0.startsWith("/");
                                java.io.File v36 = new java.io.File;
                                v36(v15_0);
                                v15_0 = v36.getCanonicalPath();
                            } catch (Exception v12_0) {
                                v12_0.printStackTrace();
                            }
                            if (!v20) {
                                v15_0 = v15_0.substring(1);
                            }
                        }
                    } else {
                        v15_0 = v15_0.replace("file://", "");
                    }
                }
                String v7_0 = plugin.google.maps.AsyncLoadImage.getCacheKey(v15_0, v22_1, v21_0);
                android.graphics.Bitmap v16_0 = plugin.google.maps.AsyncLoadImage.getBitmapFromMemCache(v7_0);
                if (v16_0 == null) {
                    String v7_1 = plugin.google.maps.AsyncLoadImage.getCacheKey(v30, v22_1, v21_0);
                    if (v15_0.indexOf("http") != 0) {
                        if ((v15_0.indexOf("data:image/") != 0) || (!v15_0.contains(";base64,"))) {
                            java.io.FileInputStream v18_0 = 0;
                            try {
                                if (!v15_0.startsWith("file:/android_asset/")) {
                                    if (!v15_0.startsWith("file:///android_asset/")) {
                                        if (v15_0.startsWith("/")) {
                                            java.io.FileInputStream v19 = new java.io.FileInputStream;
                                            v19(new java.io.File(v15_0));
                                            v18_0 = v19;
                                        }
                                    } else {
                                        android.content.res.AssetManager v5_0 = this.cordova.getActivity().getAssets();
                                        v15_0 = v15_0.replace("file:///android_asset/", "");
                                        v18_0 = v5_0.open(v15_0);
                                    }
                                } else {
                                    android.content.res.AssetManager v5_1 = this.cordova.getActivity().getAssets();
                                    v15_0 = v15_0.replace("file:/android_asset/", "");
                                    v18_0 = v5_1.open(v15_0);
                                }
                            } catch (Exception v12_1) {
                                v12_1.printStackTrace();
                                v37_0 = 0;
                                return v37_0;
                            }
                            if (v18_0 == null) {
                                android.util.Log.e("AsyncLoadImage", new StringBuilder().append("Can not load the file from \'").append(v15_0).append("\'").toString());
                                v37_0 = 0;
                                return v37_0;
                            } else {
                                android.graphics.Bitmap v16_2 = android.graphics.BitmapFactory.decodeStream(v18_0);
                                v18_0.close();
                            }
                        } else {
                            v16_2 = plugin.google.maps.PluginUtil.getBitmapFromBase64encodedImage(v15_0.split(",")[1]);
                        }
                        if ((v22_1 <= 0) || (v21_0 <= 0)) {
                            android.graphics.Bitmap v16_3 = plugin.google.maps.PluginUtil.scaleBitmapForDevice(v16_2);
                        } else {
                            v16_3 = plugin.google.maps.PluginUtil.resizeBitmap(v16_2, Math.round((((float) v22_1) * this.density)), Math.round((((float) v21_0) * this.density)));
                        }
                        v37_0 = new plugin.google.maps.AsyncLoadImage$AsyncLoadImageResult();
                        v37_0.image = v16_3;
                        v37_0.cacheHit = 0;
                        if (!this.mOptions.noCaching) {
                            v37_0.cacheKey = v7_1;
                            plugin.google.maps.AsyncLoadImage.addBitmapToMemoryCache(v7_1, v16_3);
                        }
                    } else {
                        try {
                            java.net.URL v42_0 = new java.net.URL;
                            v42_0(v15_0);
                            int v34 = 1;
                            java.net.HttpURLConnection v14_0 = 0;
                            String v9 = 0;
                            int v35 = 0;
                            java.net.URL v43 = v42_0;
                        } catch (Exception v12_3) {
                            v12_3.printStackTrace();
                            v37_0 = 0;
                        }
                        while ((v34 != 0) && (v35 < 10)) {
                            v34 = 0;
                            v14_0 = ((java.net.HttpURLConnection) v43.openConnection());
                            v14_0.setRequestMethod("GET");
                            if (v9 != null) {
                                v14_0.setRequestProperty("Cookie", v9);
                            }
                            v14_0.addRequestProperty("Accept-Language", "en-US,en;q=0.8");
                            v14_0.addRequestProperty("User-Agent", this.userAgent);
                            v14_0.setInstanceFollowRedirects(1);
                            java.net.HttpURLConnection.setFollowRedirects(1);
                            try {
                                int v40 = v14_0.getResponseCode();
                            } catch (Exception v12_2) {
                                java.net.URL v42_1 = v43;
                                android.util.Log.e("AsyncLoadImage", new StringBuilder().append("can not connect to ").append(v15_0).toString(), v12_2);
                                v43 = v42_1;
                            }
                            if ((v40 != 200) && ((v40 == 302) || ((v40 == 301) || (v40 == 303)))) {
                                v34 = 1;
                            }
                            if (v34 == 0) {
                                if (v40 == 200) {
                                    break;
                                }
                                v37_0 = 0;
                                return v37_0;
                            } else {
                                v42_1 = new java.net.URL;
                                v42_1(v14_0.getHeaderField("Location"));
                                try {
                                    v9 = v14_0.getHeaderField("Set-Cookie");
                                    v14_0.disconnect();
                                    v35++;
                                    v43 = v42_1;
                                } catch (Exception v12_2) {
                                }
                            }
                        }
                        java.io.FileInputStream v18_1 = v14_0.getInputStream();
                        java.io.ByteArrayOutputStream v6_1 = new java.io.ByteArrayOutputStream();
                        byte[] v11 = new byte[16384];
                        while(true) {
                            int v26 = v18_1.read(v11, 0, v11.length);
                            if (v26 == -1) {
                                break;
                            }
                            v6_1.write(v11, 0, v26);
                        }
                        v6_1.flush();
                        v18_1.close();
                        int v17 = v6_1.toByteArray();
                        android.graphics.BitmapFactory$Options v29_1 = new android.graphics.BitmapFactory$Options();
                        v29_1.inJustDecodeBounds = 1;
                        v29_1.inPreferredConfig = android.graphics.Bitmap$Config.ARGB_8888;
                        android.graphics.BitmapFactory.decodeByteArray(v17, 0, v17.length, v29_1);
                        if ((v22_1 < 1) && (v21_0 < 1)) {
                            v22_1 = v29_1.outWidth;
                            v21_0 = v29_1.outHeight;
                        }
                        int v28 = ((int) (((float) v22_1) * this.density));
                        int v27 = ((int) (((float) v21_0) * this.density));
                        if ((v28 > 2000) || (v27 > 2000)) {
                            float v33;
                            if (v28 < v27) {
                                v33 = (1157234688 / ((float) v27));
                            } else {
                                v33 = (1157234688 / ((float) v28));
                            }
                            v28 = ((int) (((float) v28) * v33));
                            v27 = ((int) (((float) v27) * v33));
                            android.util.Log.w("AsyncLoadImage", "Since the image size is too large, the image size resizes down mandatory");
                        }
                        android.graphics.Bitmap v39 = android.graphics.Bitmap.createBitmap(v28, v27, android.graphics.Bitmap$Config.ARGB_8888);
                        float v31 = (((float) v28) / ((float) v29_1.outWidth));
                        float v32 = (((float) v27) / ((float) v29_1.outHeight));
                        float v23 = (((float) v28) / 1073741824);
                        float v24 = (((float) v27) / 1073741824);
                        v29_1.inJustDecodeBounds = 0;
                        v29_1.outWidth = v28;
                        v29_1.outHeight = v27;
                        android.graphics.Matrix v38_1 = new android.graphics.Matrix();
                        v38_1.setScale(v31, v32, v23, v24);
                        int v8_1 = new android.graphics.Canvas(v39);
                        v8_1.setMatrix(v38_1);
                        int v25 = android.graphics.BitmapFactory.decodeByteArray(v17, 0, v17.length, v29_1);
                        v8_1.drawBitmap(v25, (v23 - ((float) (v29_1.outWidth / 2))), (v24 - ((float) (v29_1.outHeight / 2))), new android.graphics.Paint(2));
                        v25.recycle();
                        int v8 = 0;
                        v37_0 = new plugin.google.maps.AsyncLoadImage$AsyncLoadImageResult();
                        v37_0.image = v39;
                        v37_0.cacheHit = 0;
                        if (!this.mOptions.noCaching) {
                            v37_0.cacheKey = v7_1;
                            plugin.google.maps.AsyncLoadImage.addBitmapToMemoryCache(v7_1, v39);
                        }
                    }
                } else {
                    v37_0 = new plugin.google.maps.AsyncLoadImage$AsyncLoadImageResult();
                    v37_0.image = v16_0;
                    v37_0.cacheHit = 1;
                    v37_0.cacheKey = v7_0;
                }
            } else {
                v37_0 = new plugin.google.maps.AsyncLoadImage$AsyncLoadImageResult();
                v37_0.image = v16_1;
                v37_0.cacheHit = 1;
                v37_0.cacheKey = v7_2;
            }
        } else {
            v37_0 = 0;
        }
        return v37_0;
    }

Method plugin.google.maps.AsyncLoadImage.getCacheKey() calling method java.net.URL.<init>()


    public static String getCacheKey(String p3, int p4, int p5)
    {
        String v1_7;
        if (p3 != null) {
            try {
                v1_7 = plugin.google.maps.AsyncLoadImage.getCacheKey(new java.net.URL(p3), p4, p5);
            } catch (java.net.MalformedURLException v0) {
                v1_7 = new StringBuilder().append(p3.hashCode()).append("/").append(p4).append("x").append(p5).toString();
            }
        } else {
            v1_7 = 0;
        }
        return v1_7;
    }

Method org.apache.cordova.CordovaResourceApi.openForRead() calling method java.net.URL.<init>()


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

Method org.apache.cordova.CordovaResourceApi.getMimeType() calling method java.net.URL.<init>()


    public String getMimeType(android.net.Uri p5)
    {
        String v1;
        switch (org.apache.cordova.CordovaResourceApi.getUriType(p5)) {
            case 0:
            case 1:
                v1 = this.getMimeTypeFromPath(p5.getPath());
                break;
            case 2:
            case 3:
                v1 = this.contentResolver.getType(p5);
                break;
            case 4:
                v1 = this.getDataUriMimeType(p5);
                break;
            case 5:
            case 6:
                try {
                    java.net.HttpURLConnection v0_1 = ((java.net.HttpURLConnection) new java.net.URL(p5.toString()).openConnection());
                    v0_1.setDoInput(0);
                    v0_1.setRequestMethod("HEAD");
                    v1 = v0_1.getHeaderField("Content-Type");
                } catch (String[] v2) {
                    v1 = 0;
                }
                if (v1 == null) {
                } else {
                    v1 = v1.split(";")[0];
                }
                break;
            default:
        }
        return v1;
    }

Method org.apache.cordova.CordovaResourceApi.createHttpConnection() calling method java.net.URL.<init>()


    public java.net.HttpURLConnection createHttpConnection(android.net.Uri p3)
    {
        this.assertBackgroundThread();
        return ((java.net.HttpURLConnection) new java.net.URL(p3.toString()).openConnection());
    }

Method com.ionicframework.cordova.webview.WebViewLocalServer.handleProxyRequest() calling method java.net.URL.<init>()


    private android.webkit.WebResourceResponse handleProxyRequest(android.net.Uri p19, com.ionicframework.cordova.webview.WebViewLocalServer$PathHandler p20)
    {
        try {
            android.webkit.WebResourceResponse v2_10;
            String v15 = p19.getPath();
            java.net.URL v17 = new java.net.URL;
            v17(p19.toString());
            java.net.HttpURLConnection v13_1 = ((java.net.HttpURLConnection) v17.openConnection());
            v13_1.setRequestMethod("GET");
            v13_1.setReadTimeout(30000);
            v13_1.setConnectTimeout(30000);
            java.io.InputStream v6 = v13_1.getInputStream();
        } catch (android.webkit.WebResourceResponse v2) {
            v2_10 = 0;
            return v2_10;
        } catch (android.webkit.WebResourceResponse v2) {
        }
        if ((!v15.equals("/")) && ((p19.getLastPathSegment().contains(".")) || (!this.html5mode))) {
            if (v15.lastIndexOf(".") < 0) {
                v2_10 = com.ionicframework.cordova.webview.WebViewLocalServer.createWebResourceResponse("", p20.getEncoding(), p20.getStatusCode(), p20.getReasonPhrase(), p20.getResponseHeaders(), v6);
                return v2_10;
            } else {
                // Both branches of the condition point to the same code.
                // if (!v15.substring(v15.lastIndexOf("."), v15.length()).equals(".html")) {
                    v2_10 = com.ionicframework.cordova.webview.WebViewLocalServer.createWebResourceResponse(this.getMimeType(v15, v6), p20.getEncoding(), p20.getStatusCode(), p20.getReasonPhrase(), p20.getResponseHeaders(), v6);
                    return v2_10;
                // }
            }
        } else {
            v2_10 = com.ionicframework.cordova.webview.WebViewLocalServer.createWebResourceResponse("text/html", p20.getEncoding(), p20.getStatusCode(), p20.getReasonPhrase(), p20.getResponseHeaders(), v6);
            return v2_10;
        }
    }