Info Call to dangerous WebView settings API

Description

List of all WebView methods used in the application.

Recommendation

If your application accesses sensitive data with a WebView, you may want to use the clearCache() method to delete any files stored locally.

Any URI received via an intent from outside a trust-boundary should be validated before rendering it with WebView

Technical details

Method com.nokia.maps.nlp.a.<clinit>() calling method android.net.Uri.parse()


    static a()
    {
        com.nokia.maps.nlp.a.a = com.nokia.maps.nlp.a$a.c;
        com.nokia.maps.nlp.a.b = "ec2-52-91-12-145.compute-1.amazonaws.com";
        com.nokia.maps.nlp.a.c = 8080;
        com.nokia.maps.nlp.a.d = "/nlp.zip";
        com.nokia.maps.nlp.a.e = 1;
        com.nokia.maps.nlp.a.f = "http://origin.stg.cld.vcdn.data.here.com/storage/repository";
        com.nokia.maps.nlp.a.g = "bW9iaWxlc2RrX3N0ZzpabmhxUXdZdA==";
        com.nokia.maps.nlp.a.h = "http://origin.prd.cld.vcdn.data.here.com/storage/repository";
        com.nokia.maps.nlp.a.i = "bW9iaWxlc2RrOkJOZkZKaHB5";
        com.nokia.maps.nlp.a.j = 5000;
        com.nokia.maps.nlp.a.k = 1;
        com.nokia.maps.nlp.a.l = java.util.Locale.US.toString();
        com.nokia.maps.nlp.a.m = "010";
        com.nokia.maps.nlp.a.n = "english (us) - recorded speech";
        com.nokia.maps.nlp.a.o = com.here.android.mpa.guidance.VoicePackage$Gender.MALE;
        com.nokia.maps.nlp.a.p = 3;
        com.nokia.maps.nlp.a.q = 36;
        com.nokia.maps.nlp.a.r = 1110704128;
        com.nokia.maps.nlp.a.s = 1000;
        com.nokia.maps.nlp.a.t = 32;
        com.nokia.maps.nlp.a.u = 5;
        com.nokia.maps.nlp.a.v = 0;
        com.nokia.maps.nlp.a.w = 5;
        com.nokia.maps.nlp.a.x = "unnamed";
        com.nokia.maps.nlp.a.y = com.here.android.mpa.routing.Route$TrafficPenaltyMode.DISABLED;
        com.nokia.maps.nlp.a.z = com.here.android.mpa.guidance.NavigationManager$TrafficAvoidanceMode.DISABLE;
        com.nokia.maps.nlp.a.A = 50;
        com.nokia.maps.nlp.a.B = 10;
        com.nokia.maps.nlp.a.C = 1077936128;
        com.nokia.maps.nlp.a.D = com.here.android.mpa.routing.RouteOptions$TransportMode.CAR;
        com.nokia.maps.nlp.a.E = com.here.android.mpa.routing.RouteOptions$Type.FASTEST;
        com.nokia.maps.nlp.a.F = 1112014848;
        com.nokia.maps.nlp.a.G = "content://sms/inbox";
        com.nokia.maps.nlp.a.H = "nlp_msg:";
        com.nokia.maps.nlp.a.I = "\\s*(?:lat\\w*\\s*[=:]?\\s*)?([\\+\\-]?\\d+\\.\\d+)(?:\\s+|\\s*[,:;]\\s*)(?:lon\\w*\\s*[=:]?\\s*)?([\\+\\-]?\\d+\\.\\d+)";
        com.nokia.maps.nlp.a.J = "(\\(|\\)|\\s*)";
        com.nokia.maps.nlp.a.K = "(grand\\s*)?(father|mother|son|daughter)|wife|husband|hubby";
        com.nokia.maps.nlp.a.L = 2000;
        com.nokia.maps.nlp.a.M = 4000;
        com.nokia.maps.nlp.a.N = 10000;
        com.nokia.maps.nlp.a.O = 100;
        com.nokia.maps.nlp.a.P = 10.0;
        com.nokia.maps.nlp.a.Q = 3;
        com.nokia.maps.nlp.a.R = 20;
        com.nokia.maps.nlp.a.S = (com.nokia.maps.nlp.a.Q * com.nokia.maps.nlp.a.R);
        com.nokia.maps.nlp.a.T = com.nokia.maps.nlp.b.o;
        com.nokia.maps.nlp.a.U = 1000;
        com.nokia.maps.nlp.a.V = 0;
        com.nokia.maps.nlp.a.W = 0;
        com.nokia.maps.nlp.a.X = 0;
        com.nokia.maps.nlp.a.Y = android.net.Uri.parse("nmsps://NMDPTRIAL_vladbph_gmail_com20150727125818@sslsandbox.nmdp.nuancemobility.net:443");
        return;
    }

Method com.nokia.maps.et.d() calling method android.net.Uri.parse()


    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.ek.a() calling method android.net.Uri.parse()


    protected String a(String p10, com.here.android.mpa.routing.RoutePlan p11, java.util.Map p12)
    {
        android.net.Uri$Builder v2 = android.net.Uri.parse(new StringBuilder().append(p10).append("calculateroute.json").toString()).buildUpon();
        String v0_15 = com.nokia.maps.ConnectionInfoImpl.getApplicationId();
        String v1_0 = com.nokia.maps.ConnectionInfoImpl.getApplicationCode();
        if ((v0_15 != null) && (v0_15.length() > 0)) {
            v2.appendQueryParameter("app_id", v0_15);
        }
        if ((v1_0 != null) && (v1_0.length() > 0)) {
            v2.appendQueryParameter("app_code", v1_0);
        }
        String v1_11 = p11.getWaypointCount();
        String v0_73 = 0;
        while (v0_73 < v1_11) {
            java.util.Iterator v3_4 = p11.getWaypointAt(v0_73);
            v2.appendQueryParameter(new StringBuilder().append("waypoint").append(v0_73).toString(), new StringBuilder().append("geo!").append(v3_4.getLatitude()).append(",").append(v3_4.getLongitude()).toString());
            v0_73++;
        }
        java.util.Iterator v3_2 = p11.getRouteOptions();
        String v0_95 = p11.getRouteOptions().getRouteCount();
        if (v3_2.getTransportMode() == com.here.android.mpa.routing.RouteOptions$TransportMode.PUBLIC_TRANSPORT) {
            v0_95 = Math.min(v0_95, 10);
        }
        if (v0_95 > 1) {
            v2.appendQueryParameter("alternatives", String.valueOf((v0_95 - 1)));
        }
        String v0_108 = new java.util.Date();
        if (v3_2.getTime(v0_108) == com.here.android.mpa.routing.RouteOptions$TimeType.DEPARTURE) {
            v2.appendQueryParameter("departure", com.nokia.maps.el.a(v0_108));
        }
        String v0_113;
        if (v3_2.getRouteType() != com.here.android.mpa.routing.RouteOptions$Type.SHORTEST) {
            v0_113 = ark>com.nokia.maps.ekark>$e.a.a();
        } else {
            v0_113 = ark>com.nokia.maps.ekark>$e.b.a();
        }
        String v1_36 = new StringBuilder(v0_113);
        if (v3_2.getTransportMode() != com.here.android.mpa.routing.RouteOptions$TransportMode.PUBLIC_TRANSPORT) {
            v1_36.append(";").append(ark>com.nokia.maps.ekark>$g.c.a());
        } else {
            v1_36.append(";").append(ark>com.nokia.maps.ekark>$g.d.a());
        }
        String v0_2;
        if (this.a().getDynamicPenalty().getTrafficPenaltyMode() != com.here.android.mpa.routing.Route$TrafficPenaltyMode.DISABLED) {
            v0_2 = ark>com.nokia.maps.ekark>$f.a.a();
        } else {
            v0_2 = ark>com.nokia.maps.ekark>$f.b.a();
        }
        v1_36.append(";").append("traffic").append(":").append(v0_2);
        java.util.Iterator v4_4 = ark>com.nokia.maps.ekark>$c.b.a();
        StringBuilder v5_3 = new StringBuilder();
        if (!v3_2.areTollRoadsAllowed()) {
            String v0_8;
            if (v5_3.length() != 0) {
                v0_8 = ",";
            } else {
                v0_8 = ";";
            }
            v5_3.append(v0_8).append(ark>com.nokia.maps.ekark>$b.a.a()).append(":").append(v4_4);
        }
        if (!v3_2.areHighwaysAllowed()) {
            String v0_14;
            if (v5_3.length() != 0) {
                v0_14 = ",";
            } else {
                v0_14 = ";";
            }
            v5_3.append(v0_14).append(ark>com.nokia.maps.ekark>$b.b.a()).append(":").append(v4_4);
        }
        if (!v3_2.areFerriesAllowed()) {
            String v0_21;
            if (v5_3.length() != 0) {
                v0_21 = ",";
            } else {
                v0_21 = ";";
            }
            String v0_26;
            v5_3.append(v0_21).append(ark>com.nokia.maps.ekark>$b.c.a()).append(":").append(v4_4);
            if (v5_3.length() != 0) {
                v0_26 = ",";
            } else {
                v0_26 = ";";
            }
            v5_3.append(v0_26).append(ark>com.nokia.maps.ekark>$b.d.a()).append(":").append(v4_4);
        }
        if (!v3_2.areTunnelsAllowed()) {
            String v0_33;
            if (v5_3.length() != 0) {
                v0_33 = ",";
            } else {
                v0_33 = ";";
            }
            v5_3.append(v0_33).append(ark>com.nokia.maps.ekark>$b.f.a()).append(":").append(v4_4);
        }
        if (!v3_2.areDirtRoadsAllowed()) {
            String v0_39;
            if (v5_3.length() != 0) {
                v0_39 = ",";
            } else {
                v0_39 = ";";
            }
            v5_3.append(v0_39).append(ark>com.nokia.maps.ekark>$b.g.a()).append(":").append(v4_4);
        }
        if (!v3_2.areParksAllowed()) {
            String v0_45;
            if (v5_3.length() != 0) {
                v0_45 = ",";
            } else {
                v0_45 = ";";
            }
            v5_3.append(v0_45).append(ark>com.nokia.maps.ekark>$b.h.a()).append(":").append(v4_4);
        }
        if ((v3_2.getTransportMode() != com.here.android.mpa.routing.RouteOptions$TransportMode.PUBLIC_TRANSPORT) && (!v3_2.isCarpoolAllowed())) {
            String v0_53;
            if (v5_3.length() != 0) {
                v0_53 = ",";
            } else {
                v0_53 = ";";
            }
            v5_3.append(v0_53).append(ark>com.nokia.maps.ekark>$b.i.a()).append(":").append(v4_4);
        }
        v1_36.append(v5_3);
        v2.appendQueryParameter("mode", v1_36.toString());
        if (v3_2.getTransportMode() != com.here.android.mpa.routing.RouteOptions$TransportMode.PUBLIC_TRANSPORT) {
            v2.appendQueryParameter("routeattributes", "wp,sm,bb,lg,no");
            v2.appendQueryParameter("maneuverattributes", "bb,po,tt,le,ti,li,rn,nr,ru,nu,no,ac,di,bt,tm");
            v2.appendQueryParameter("linkAttributes", "sh,le,sl,ds,fl,rn,ro,rt,rd,ma,sc,ic,tr,ad,tz,jf,jt");
        } else {
            v2.appendQueryParameter("routeattributes", "wp,sm,bb,lg,no,li,sc");
            v2.appendQueryParameter("maneuverattributes", "bb,po,tt,le,ti,li,rn,nr,ru,nu,no,ac,di,bt,tm,pt,sa,wt");
            v2.appendQueryParameter("linkAttributes", "sh,le,sl,ds,fl,rn,ro,rt,rd,ma,pt,ns");
        }
        String v0_77;
        v2.appendQueryParameter("legAttributes", "mn,li,le");
        v2.appendQueryParameter("instructionformat", "text");
        if (!java.util.Locale.getDefault().getCountry().isEmpty()) {
            v0_77 = new StringBuilder().append(java.util.Locale.getDefault().getLanguage()).append("-").append(java.util.Locale.getDefault().getCountry()).toString();
        } else {
            v0_77 = java.util.Locale.getDefault().getLanguage();
        }
        v2.appendQueryParameter("language", v0_77);
        if (v3_2.getTransportMode() == com.here.android.mpa.routing.RouteOptions$TransportMode.PUBLIC_TRANSPORT) {
            String v0_80 = v3_2.getTransitMaximumChanges();
            if (v0_80 >= null) {
                v2.appendQueryParameter("maxnumberofchanges", String.valueOf(Math.min(v0_80, 10)));
            }
            String v0_83 = com.nokia.maps.el.a(v3_2);
            if (v0_83.length() > 0) {
                v2.appendQueryParameter("avoidTransportTypes", v0_83);
            }
        }
        java.util.Iterator v4_5 = p12.entrySet().iterator();
        while (v4_5.hasNext()) {
            String v0_102 = ((java.util.Map$Entry) v4_5.next());
            v2.appendQueryParameter(((String) v0_102.getKey()), ((String) v0_102.getValue()));
        }
        java.util.Iterator v3_3 = com.nokia.maps.RouteOptionsImpl.get(v3_2).c().entrySet().iterator();
        while (v3_3.hasNext()) {
            String v0_97 = ((java.util.Map$Entry) v3_3.next());
            v2.appendQueryParameter(((String) v0_97.getKey()), ((String) v0_97.getValue()));
        }
        v2.appendQueryParameter("metricSystem", ark>com.nokia.maps.ekark>$a.b.a());
        v2.appendQueryParameter("jsonAttributes", "41");
        return v2.build().toString();
    }

Method com.nokia.maps.bo.b() calling method android.net.Uri.parse()


    private android.net.Uri$Builder b(String p5)
    {
        android.net.Uri$Builder v0_1 = android.net.Uri.parse(p5).buildUpon();
        String v1_4 = com.nokia.maps.ConnectionInfoImpl.getApplicationId();
        String v2_2 = com.nokia.maps.ConnectionInfoImpl.getApplicationCode();
        if (!android.text.TextUtils.isEmpty(v1_4)) {
            v0_1.appendQueryParameter("app_id", v1_4);
        }
        if (!android.text.TextUtils.isEmpty(v2_2)) {
            v0_1.appendQueryParameter("app_code", v2_2);
        }
        v0_1.appendQueryParameter("gen", "9");
        v0_1.appendQueryParameter("politicalview", com.nokia.maps.MapsEngine.h());
        return v0_1;
    }

Method com.here.android.mpa.venues3d.Space.getIcon() calling method android.net.Uri.parse()


    public android.graphics.Bitmap getIcon(android.content.Context p3)
    {
        android.graphics.Bitmap v0 = 0;
        if (this.c == null) {
            this.c = this.d.a(p3);
        }
        android.net.Uri v1_2;
        if (!this.c.isEmpty()) {
            v1_2 = android.net.Uri.parse(this.c);
        } else {
            v1_2 = 0;
        }
        if (v1_2 != null) {
            v0 = com.here.android.mpa.venues3d.Space.a(p3, v1_2);
        }
        return v0;
    }

Method android.support.v4.widget.SimpleCursorAdapter.setViewImage() calling method android.net.Uri.parse()


    public void setViewImage(android.widget.ImageView p3, String p4)
    {
        try {
            p3.setImageResource(Integer.parseInt(p4));
        } catch (NumberFormatException v0) {
            p3.setImageURI(android.net.Uri.parse(p4));
        }
        return;
    }

Method android.support.v4.media.MediaMetadataCompat.getDescription() calling method android.net.Uri.parse()


    public android.support.v4.media.MediaDescriptionCompat getDescription()
    {
        android.support.v4.media.MediaDescriptionCompat v19_13;
        if (this.mDescription == null) {
            String v12 = this.getString("android.media.metadata.MEDIA_ID");
            android.support.v4.media.MediaDescriptionCompat v0_4 = new CharSequence[3];
            CharSequence[] v16 = v0_4;
            CharSequence v8 = 0;
            android.net.Uri v9 = 0;
            CharSequence v6 = this.getText("android.media.metadata.DISPLAY_TITLE");
            if (android.text.TextUtils.isEmpty(v6)) {
                int v17 = 0;
                int v10 = 0;
                while ((v17 < v16.length) && (v10 < android.support.v4.media.MediaMetadataCompat.PREFERRED_DESCRIPTION_ORDER.length)) {
                    int v11 = (v10 + 1);
                    String v15_0 = this.getText(android.support.v4.media.MediaMetadataCompat.PREFERRED_DESCRIPTION_ORDER[v10]);
                    if (!android.text.TextUtils.isEmpty(v15_0)) {
                        int v18 = (v17 + 1);
                        v16[v17] = v15_0;
                        v17 = v18;
                    }
                    v10 = v11;
                }
            } else {
                v16[0] = v6;
                v16[1] = this.getText("android.media.metadata.DISPLAY_SUBTITLE");
                v16[2] = this.getText("android.media.metadata.DISPLAY_DESCRIPTION");
            }
            int v7_0 = 0;
            while (v7_0 < android.support.v4.media.MediaMetadataCompat.PREFERRED_BITMAP_ORDER.length) {
                String v15_1 = this.getBitmap(android.support.v4.media.MediaMetadataCompat.PREFERRED_BITMAP_ORDER[v7_0]);
                if (v15_1 == null) {
                    v7_0++;
                } else {
                    v8 = v15_1;
                    break;
                }
            }
            int v7_1 = 0;
            while (v7_1 < android.support.v4.media.MediaMetadataCompat.PREFERRED_URI_ORDER.length) {
                String v15_2 = this.getString(android.support.v4.media.MediaMetadataCompat.PREFERRED_URI_ORDER[v7_1]);
                if (android.text.TextUtils.isEmpty(v15_2)) {
                    v7_1++;
                } else {
                    v9 = android.net.Uri.parse(v15_2);
                    break;
                }
            }
            android.net.Uri v13 = 0;
            String v14 = this.getString("android.media.metadata.MEDIA_URI");
            if (!android.text.TextUtils.isEmpty(v14)) {
                v13 = android.net.Uri.parse(v14);
            }
            android.support.v4.media.MediaDescriptionCompat$Builder v4_1 = new android.support.v4.media.MediaDescriptionCompat$Builder();
            v4_1.setMediaId(v12);
            v4_1.setTitle(v16[0]);
            v4_1.setSubtitle(v16[1]);
            v4_1.setDescription(v16[2]);
            v4_1.setIconBitmap(v8);
            v4_1.setIconUri(v9);
            v4_1.setMediaUri(v13);
            if (this.mBundle.containsKey("android.media.metadata.BT_FOLDER_TYPE")) {
                android.os.Bundle v5_1 = new android.os.Bundle();
                v5_1.putLong("android.media.extra.BT_FOLDER_TYPE", this.getLong("android.media.metadata.BT_FOLDER_TYPE"));
                v4_1.setExtras(v5_1);
            }
            this.mDescription = v4_1.build();
            v19_13 = this.mDescription;
        } else {
            v19_13 = this.mDescription;
        }
        return v19_13;
    }

Method android.support.v4.app.ActivityCompat.getReferrer() calling method android.net.Uri.parse()


    public static android.net.Uri getReferrer(android.app.Activity p5)
    {
        int v1_0;
        if (android.os.Build$VERSION.SDK_INT < 22) {
            android.content.Intent v0 = p5.getIntent();
            v1_0 = ((android.net.Uri) v0.getParcelableExtra("android.intent.extra.REFERRER"));
            if (v1_0 == 0) {
                String v2 = v0.getStringExtra("android.intent.extra.REFERRER_NAME");
                if (v2 == null) {
                    v1_0 = 0;
                } else {
                    v1_0 = android.net.Uri.parse(v2);
                }
            }
        } else {
            v1_0 = android.support.v4.app.ActivityCompatApi22.getReferrer(p5);
        }
        return v1_0;
    }