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.android.providers.media.MtpReceiver.handleUsbState() calling method android.net.Uri.parse()


    private void handleUsbState(android.content.Context p12, android.content.Intent p13)
    {
        int v6_1;
        android.os.Bundle v0 = p13.getExtras();
        boolean v1_1 = v0.getBoolean("configured");
        boolean v2_1 = v0.getBoolean("connected");
        boolean v3_0 = v0.getBoolean("mtp");
        boolean v4_1 = v0.getBoolean("ptp");
        boolean v5_1 = v0.getBoolean("unlocked");
        if (android.os.UserHandle.myUserId() != android.app.ActivityManager.getCurrentUser()) {
            v6_1 = 0;
        } else {
            v6_1 = 1;
        }
        if ((!v1_1) || ((!v3_0) && (!v4_1))) {
            if ((!v2_1) || ((!v3_0) && (!v4_1))) {
                p12.stopService(new android.content.Intent(p12, com.android.providers.media.MtpService));
                p12.getContentResolver().delete(android.net.Uri.parse("content://media/none/mtp_connected"), 0, 0);
            }
        } else {
            if (v6_1 != 0) {
                p12.getContentResolver().insert(android.net.Uri.parse("content://media/none/mtp_connected"), 0);
                android.content.Intent v13_1 = new android.content.Intent(p12, com.android.providers.media.MtpService);
                v13_1.putExtra("unlocked", v5_1);
                if (v4_1) {
                    v13_1.putExtra("ptp", 1);
                }
                p12.startService(v13_1);
            } else {
                return;
            }
        }
        return;
    }

Method com.android.providers.media.MediaScannerService.scan() calling method android.net.Uri.parse()


    private void scan(String[] p9, String p10)
    {
        android.net.Uri v0_1 = new StringBuilder();
        v0_1.append("file://");
        v0_1.append(p9[0]);
        android.net.Uri v0_2 = android.net.Uri.parse(v0_1.toString());
        this.mWakeLock.acquire();
        try {
            android.os.PowerManager$WakeLock v1_2 = new android.content.ContentValues();
            v1_2.put("volume", p10);
            String v2_2 = this.getContentResolver().insert(android.provider.MediaStore.getMediaScannerUri(), v1_2);
            this.sendBroadcast(new android.content.Intent("android.intent.action.MEDIA_SCANNER_STARTED", v0_2));
            try {
                if (!p10.equals("external")) {
                    android.content.ContentResolver v4_4 = new android.media.MediaScanner(this, p10);
                    try {
                        v4_4.scanDirectories(p9);
                    } catch (Throwable v5_1) {
                        Throwable v6_1 = 0;
                        com.android.providers.media.MediaScannerService.$closeResource(v6_1, v4_4);
                        throw v5_1;
                    } catch (Throwable v5_0) {
                        try {
                            throw v5_0;
                        } catch (Throwable v6_0) {
                            v6_1 = v5_0;
                            v5_1 = v6_0;
                        }
                    }
                    com.android.providers.media.MediaScannerService.$closeResource(0, v4_4);
                } else {
                    this.openDatabase(p10);
                }
            } catch (android.content.ContentResolver v4_5) {
                android.util.Log.e("MediaScannerService", "exception in MediaScanner.scan()", v4_5);
            }
            this.getContentResolver().delete(v2_2, 0, 0);
            this.sendBroadcast(new android.content.Intent("android.intent.action.MEDIA_SCANNER_FINISHED", v0_2));
            this.mWakeLock.release();
            return;
        } catch (android.os.PowerManager$WakeLock v1_6) {
            this.sendBroadcast(new android.content.Intent("android.intent.action.MEDIA_SCANNER_FINISHED", v0_2));
            this.mWakeLock.release();
            throw v1_6;
        }
    }

Method com.android.providers.media.MediaScannerService.openDatabase() calling method android.net.Uri.parse()


    private void openDatabase(String p4)
    {
        try {
            IllegalArgumentException v0_1 = new android.content.ContentValues();
            v0_1.put("name", p4);
            this.getContentResolver().insert(android.net.Uri.parse("content://media/"), v0_1);
        } catch (IllegalArgumentException v0) {
            android.util.Log.w("MediaScannerService", "failed to open media database");
        }
        return;
    }

Method com.android.providers.media.MediaProvider.delete() calling method android.net.Uri.parse()


    public int delete(android.net.Uri p40, String p41, String[] p42)
    {
        void v1 = this;
        android.net.Uri v11 = this.safeUncanonicalize(p40);
        android.database.sqlite.SQLiteDatabase v12_2 = com.android.providers.media.MediaProvider.URI_MATCHER.match(v11);
        android.database.sqlite.SQLiteDatabase v13_3 = 0;
        String v14_9 = 1;
        if (v12_2 != 500) {
            Throwable v0_10;
            if (v12_2 != 301) {
                if (v12_2 != 705) {
                    String v15 = com.android.providers.media.MediaProvider.getVolumeName(v11);
                    boolean v16 = "external".equals(v15);
                    android.database.sqlite.SQLiteDatabase v9_2 = this.getDatabaseForUri(v11);
                    if (v9_2 == null) {
                        int v38 = v12_2;
                        android.net.Uri v2_16 = new StringBuilder();
                        v2_16.append("Unknown URI: ");
                        v2_16.append(v11);
                        v2_16.append(" match: ");
                        v2_16.append(v38);
                        throw new UnsupportedOperationException(v2_16.toString());
                    } else {
                        android.database.sqlite.SQLiteDatabase v9_0;
                        android.database.sqlite.SQLiteDatabase v13_0;
                        String v14_0;
                        v9_2.mNumDeletes = (v9_2.mNumDeletes + 1);
                        String v8_14 = v9_2.getWritableDatabase();
                        android.media.MiniThumbFile v6_2 = this.getTableAndWhere(v11, v12_2, p41);
                        if (!v6_2.table.equals("files")) {
                            v14_0 = v6_2;
                            v13_0 = v9_2;
                            v9_0 = v8_14;
                        } else {
                            String v5_12 = v11.getQueryParameter("deletedata");
                            if ((v5_12 != null) && (v5_12.equals("false"))) {
                                v14_0 = v6_2;
                                v13_0 = v9_2;
                                v9_0 = v8_14;
                            } else {
                                v9_2.mNumQueries = (v9_2.mNumQueries + 1);
                                String v26 = v6_2;
                                android.database.sqlite.SQLiteDatabase v27 = v8_14;
                                android.database.sqlite.SQLiteDatabase v28 = v9_2;
                                android.net.Uri v2_35 = v8_14.query(v6_2.table, com.android.providers.media.MediaProvider.sMediaTypeDataId, v6_2.where, p42, 0, 0, 0);
                                String v3_26 = new String[] {""});
                                long v4_3 = new String[] {"", ""});
                                android.media.MiniThumbFile v6_1 = 0;
                                String v5_8 = 0;
                                try {
                                    while (v2_35.moveToNext()) {
                                        try {
                                            android.database.sqlite.SQLiteDatabase v13_1;
                                            android.database.sqlite.SQLiteDatabase v9_4;
                                            int v7_2 = v2_35.getInt(v13_3);
                                            String v8_3 = v2_35.getString(v14_9);
                                            long v29 = v2_35.getLong(2);
                                        } catch (Throwable v0_0) {
                                            android.database.sqlite.SQLiteDatabase v13 = v28;
                                            String v8_0 = v5_8;
                                            libcore.io.IoUtils.closeQuietly(v2_35);
                                            if (v6_1 != null) {
                                                v6_1.deactivate();
                                            }
                                            if (v8_0 != null) {
                                                v8_0.deactivate();
                                            }
                                            throw v0_0;
                                        }
                                        if (v7_2 != v14_9) {
                                            long v31_0 = v4_3;
                                            String v32_2 = v5_8;
                                            v9_4 = v27;
                                            v13_1 = v28;
                                            long v4_2 = v29;
                                            if (v7_2 != 3) {
                                                if (v7_2 != 2) {
                                                    v4_3 = v31_0;
                                                    v5_8 = v32_2;
                                                    v27 = v9_4;
                                                    v28 = v13_1;
                                                    v13_3 = 0;
                                                    v14_9 = 1;
                                                } else {
                                                    try {
                                                        if (v13_1.mInternal) {
                                                            v4_3 = v31_0;
                                                        } else {
                                                            com.android.providers.media.MediaDocumentsProvider.onMediaStoreDelete(this.getContext(), v15, 2, v4_2);
                                                            v3_26[0] = String.valueOf(v4_2);
                                                            v13_1.mNumDeletes = (v13_1.mNumDeletes + 2);
                                                            v9_4.delete("audio_genres_map", "audio_id=?", v3_26);
                                                            Throwable v0_27 = v9_4.query("audio_playlists_map", com.android.providers.media.MediaProvider.sPlaylistIdPlayOrder, "audio_id=?", v3_26, 0, 0, 0);
                                                            while(true) {
                                                                String v8_10 = v0_27;
                                                                if (!v8_10.moveToNext()) {
                                                                    break;
                                                                }
                                                                Throwable v0_32 = new StringBuilder();
                                                                v0_32.append("");
                                                                long v36 = v4_2;
                                                                v0_32.append(v8_10.getLong(0));
                                                                v31_0[0] = v0_32.toString();
                                                                Throwable v0_35 = new StringBuilder();
                                                                v0_35.append("");
                                                                v0_35.append(v8_10.getInt(1));
                                                                v31_0[1] = v0_35.toString();
                                                                v13_1.mNumUpdates = (v13_1.mNumUpdates + 1);
                                                                long v4_7 = v31_0;
                                                                v9_4.execSQL("UPDATE audio_playlists_map SET play_order=play_order-1 WHERE playlist_id=? AND play_order>?", v4_7);
                                                                v31_0 = v4_7;
                                                                v0_27 = v8_10;
                                                                v4_2 = v36;
                                                            }
                                                            v4_3 = v31_0;
                                                            v9_4.delete("audio_playlists_map", "audio_id=?", v3_26);
                                                            libcore.io.IoUtils.closeQuietly(v8_10);
                                                        }
                                                    } catch (Throwable v0_0) {
                                                        String v14 = v26;
                                                        v8_0 = v32_2;
                                                    }
                                                }
                                            } else {
                                                try {
                                                    v1 = v1.deleteIfAllowed(v11, v8_3);
                                                    com.android.providers.media.MediaDocumentsProvider.onMediaStoreDelete(this.getContext(), v15, 3, v4_2);
                                                    v3_26[0] = String.valueOf(v4_2);
                                                    v13_1.mNumQueries = (v13_1.mNumQueries + 1);
                                                    Throwable v0_44 = v9_4.query("videothumbnails", com.android.providers.media.MediaProvider.sDataOnlyColumn, "video_id=?", v3_26, 0, 0, 0);
                                                } catch (Throwable v0_0) {
                                                    long v4 = v31_0;
                                                }
                                                while(true) {
                                                    String v14_7 = v0_44;
                                                    if (!v14_7.moveToNext()) {
                                                        break;
                                                    }
                                                    String v35 = v8_3;
                                                    v1 = v1.deleteIfAllowed(v11, v14_7.getString(0));
                                                    v0_44 = v14_7;
                                                    v8_3 = v35;
                                                }
                                                v13_1.mNumDeletes = (v13_1.mNumDeletes + 1);
                                                v9_4.delete("videothumbnails", "video_id=?", v3_26);
                                                libcore.io.IoUtils.closeQuietly(v14_7);
                                                if (v16) {
                                                    if (v32_2 != null) {
                                                        v8_0 = v32_2;
                                                    } else {
                                                        v8_0 = android.media.MiniThumbFile.instance(android.provider.MediaStore$Video$Media.EXTERNAL_CONTENT_URI);
                                                    }
                                                    try {
                                                        v8_0.eraseMiniThumb(v4_2);
                                                        v32_2 = v8_0;
                                                    } catch (Throwable v0_0) {
                                                        v4 = v31_0;
                                                    }
                                                }
                                                v4_3 = v31_0;
                                            }
                                            v8_0 = v32_2;
                                        } else {
                                            try {
                                                v1 = v1.deleteIfAllowed(v11, v8_3);
                                                long v31_1 = v4_3;
                                                String v32_3 = v5_8;
                                                long v4_8 = v29;
                                                try {
                                                    com.android.providers.media.MediaDocumentsProvider.onMediaStoreDelete(this.getContext(), v15, v14_9, v4_8);
                                                    v3_26[v13_3] = String.valueOf(v4_8);
                                                    v9_4 = v28;
                                                    try {
                                                        v9_4.mNumQueries = (v9_4.mNumQueries + v14_9);
                                                        Throwable v0_57 = v27.query("thumbnails", com.android.providers.media.MediaProvider.sDataOnlyColumn, "image_id=?", v3_26, 0, 0, 0);
                                                    } catch (Throwable v0_0) {
                                                        v14 = v26;
                                                        v8_0 = v32_3;
                                                    }
                                                    while(true) {
                                                        String v14_8 = v0_57;
                                                        if (!v14_8.moveToNext()) {
                                                            break;
                                                        }
                                                        try {
                                                            v1 = v1.deleteIfAllowed(v11, v14_8.getString(v13_3));
                                                            v0_57 = v14_8;
                                                            v14_8 = 1;
                                                        } catch (Throwable v0_62) {
                                                            libcore.io.IoUtils.closeQuietly(v14_8);
                                                            throw v0_62;
                                                        }
                                                    }
                                                    v9_4.mNumDeletes = (v9_4.mNumDeletes + 1);
                                                    android.database.sqlite.SQLiteDatabase v34_1 = v9_4;
                                                    v9_4 = v27;
                                                    v9_4.delete("thumbnails", "image_id=?", v3_26);
                                                    libcore.io.IoUtils.closeQuietly(v14_8);
                                                    if (v16) {
                                                        if (v6_1 == null) {
                                                            v6_1 = android.media.MiniThumbFile.instance(android.provider.MediaStore$Images$Media.EXTERNAL_CONTENT_URI);
                                                        }
                                                        v6_1.eraseMiniThumb(v4_8);
                                                    }
                                                    v4_3 = v31_1;
                                                    v5_8 = v32_3;
                                                    v13_1 = v34_1;
                                                } catch (Throwable v0_0) {
                                                    v14 = v26;
                                                    v4 = v31_1;
                                                    v8_0 = v32_3;
                                                }
                                            } catch (Throwable v0_0) {
                                                v14 = v26;
                                                v8_0 = v5_8;
                                            }
                                        }
                                    }
                                } catch (Throwable v0_0) {
                                    v8_0 = v5_8;
                                    android.database.sqlite.SQLiteDatabase v9 = v27;
                                }
                                String v32_0 = v5_8;
                                v9_0 = v27;
                                v13_0 = v28;
                                libcore.io.IoUtils.closeQuietly(v2_35);
                                if (v6_1 != null) {
                                    v6_1.deactivate();
                                }
                                if (v32_0 != null) {
                                    v32_0.deactivate();
                                }
                                v14_0 = v26;
                                if (android.text.TextUtils.isEmpty(v14_0.where)) {
                                    v14_0.where = "_id NOT IN (SELECT parent FROM files)";
                                    switch (v12_2) {
                                        case 3:
                                        case 4:
                                        case 202:
                                        case 203:
                                            android.database.sqlite.SQLiteDatabase v12_0 = v9_0;
                                            android.net.Uri v2_8 = v9_0.query(v14_0.table, com.android.providers.media.MediaProvider.sDataOnlyColumn, v14_0.where, p42, 0, 0, 0);
                                            if (v2_8 != null) {
                                                try {
                                                    while (v2_8.moveToNext()) {
                                                        v1 = v1.deleteIfAllowed(v11, v2_8.getString(0));
                                                    }
                                                } catch (Throwable v0_16) {
                                                    libcore.io.IoUtils.closeQuietly(v2_8);
                                                    throw v0_16;
                                                }
                                                libcore.io.IoUtils.closeQuietly(v2_8);
                                            }
                                            v13_0.mNumDeletes = (v13_0.mNumDeletes + 1);
                                            v0_10 = v12_0.delete(v14_0.table, v14_0.where, p42);
                                            break;
                                        case 108:
                                            v13_0.mNumDeletes = (v13_0.mNumDeletes + 1);
                                            v0_10 = v9_0.delete("audio_genres_map", v14_0.where, p42);
                                            android.database.sqlite.SQLiteDatabase v12 = v9_0;
                                            break;
                                        case 702:
                                        case 703:
                                            v13_0.mNumDeletes = (v13_0.mNumDeletes + 1);
                                            v0_10 = v9_0.delete("files", v14_0.where, p42);
                                            break;
                                        default:
                                            android.database.sqlite.SQLiteDatabase v12_1 = v9_0;
                                            v13_0.mNumDeletes = (v13_0.mNumDeletes + 1);
                                            v0_10 = v12_1.delete(v14_0.table, v14_0.where, p42);
                                    }
                                    android.net.Uri v2_12 = new StringBuilder();
                                    v2_12.append("content://media/");
                                    v2_12.append(v15);
                                    this.getContext().getContentResolver().notifyChange(android.net.Uri.parse(v2_12.toString()), 0);
                                    return v0_10;
                                } else {
                                    Throwable v0_5 = new StringBuilder();
                                    v0_5.append("(");
                                    v0_5.append(v14_0.where);
                                    v0_5.append(") AND (_id NOT IN (SELECT parent FROM files WHERE NOT (");
                                    v0_5.append(v14_0.where);
                                    v0_5.append(")))");
                                    v14_0.where = v0_5.toString();
                                }
                            }
                        }
                    }
                } else {
                    try {
                        if (this.mMtpService == null) {
                        } else {
                            this.getContext().unbindService(this.mMtpServiceConnection);
                            v13_3 = 1;
                            this.mMtpService = 0;
                        }
                    } catch (Throwable v0_66) {
                        throw v0_66;
                    }
                    v0_10 = v13_3;
                }
            } else {
                this.detachVolume(v11);
                v0_10 = 1;
            }
            return v0_10;
        } else {
            if (this.mMediaScannerVolume != null) {
                android.net.Uri v2_24 = new StringBuilder();
                v2_24.append("content://media/");
                v2_24.append(this.mMediaScannerVolume);
                v2_24.append("/audio");
                android.net.Uri v2_27 = this.getDatabaseForUri(android.net.Uri.parse(v2_24.toString()));
                if (v2_27 != null) {
                    v2_27.mScanStopTime = android.os.SystemClock.currentTimeMicro();
                    com.android.providers.media.MediaProvider.logToDb(v2_27.getWritableDatabase(), this.dump(v2_27, 0));
                } else {
                    long v4_12 = new StringBuilder();
                    v4_12.append("no database for scanned volume ");
                    v4_12.append(this.mMediaScannerVolume);
                    android.util.Log.w(com.android.providers.media.MediaProvider.TAG, v4_12.toString());
                }
                if ("internal".equals(this.mMediaScannerVolume)) {
                    long v4_16 = this.getContext().getSharedPreferences("MediaScanBuild", 0).edit();
                    v4_16.putString("lastScanFingerprint", android.os.Build.FINGERPRINT);
                    v4_16.apply();
                }
                this.mMediaScannerVolume = 0;
                this.pruneThumbnails();
                return 1;
            } else {
                return 0;
            }
        }
    }

Method com.android.providers.media.MediaProvider.delete() calling method android.net.Uri.parse()


    public int delete(android.net.Uri p40, String p41, String[] p42)
    {
        void v1 = this;
        android.net.Uri v11 = this.safeUncanonicalize(p40);
        android.database.sqlite.SQLiteDatabase v12_2 = com.android.providers.media.MediaProvider.URI_MATCHER.match(v11);
        android.database.sqlite.SQLiteDatabase v13_3 = 0;
        String v14_9 = 1;
        if (v12_2 != 500) {
            Throwable v0_10;
            if (v12_2 != 301) {
                if (v12_2 != 705) {
                    String v15 = com.android.providers.media.MediaProvider.getVolumeName(v11);
                    boolean v16 = "external".equals(v15);
                    android.database.sqlite.SQLiteDatabase v9_2 = this.getDatabaseForUri(v11);
                    if (v9_2 == null) {
                        int v38 = v12_2;
                        android.net.Uri v2_16 = new StringBuilder();
                        v2_16.append("Unknown URI: ");
                        v2_16.append(v11);
                        v2_16.append(" match: ");
                        v2_16.append(v38);
                        throw new UnsupportedOperationException(v2_16.toString());
                    } else {
                        android.database.sqlite.SQLiteDatabase v13_0;
                        String v14_0;
                        android.database.sqlite.SQLiteDatabase v9_0;
                        v9_2.mNumDeletes = (v9_2.mNumDeletes + 1);
                        String v8_14 = v9_2.getWritableDatabase();
                        android.media.MiniThumbFile v6_2 = this.getTableAndWhere(v11, v12_2, p41);
                        if (!v6_2.table.equals("files")) {
                            v14_0 = v6_2;
                            v13_0 = v9_2;
                            v9_0 = v8_14;
                        } else {
                            String v5_12 = v11.getQueryParameter("deletedata");
                            if ((v5_12 != null) && (v5_12.equals("false"))) {
                                v14_0 = v6_2;
                                v13_0 = v9_2;
                                v9_0 = v8_14;
                            } else {
                                v9_2.mNumQueries = (v9_2.mNumQueries + 1);
                                String v26 = v6_2;
                                android.database.sqlite.SQLiteDatabase v27 = v8_14;
                                android.database.sqlite.SQLiteDatabase v28 = v9_2;
                                android.net.Uri v2_35 = v8_14.query(v6_2.table, com.android.providers.media.MediaProvider.sMediaTypeDataId, v6_2.where, p42, 0, 0, 0);
                                String v3_26 = new String[] {""});
                                long v4_3 = new String[] {"", ""});
                                android.media.MiniThumbFile v6_1 = 0;
                                String v5_8 = 0;
                                try {
                                    while (v2_35.moveToNext()) {
                                        try {
                                            android.database.sqlite.SQLiteDatabase v9_4;
                                            android.database.sqlite.SQLiteDatabase v13_1;
                                            int v7_2 = v2_35.getInt(v13_3);
                                            String v8_3 = v2_35.getString(v14_9);
                                            long v29 = v2_35.getLong(2);
                                        } catch (Throwable v0_0) {
                                            android.database.sqlite.SQLiteDatabase v13 = v28;
                                            String v8_0 = v5_8;
                                            libcore.io.IoUtils.closeQuietly(v2_35);
                                            if (v6_1 != null) {
                                                v6_1.deactivate();
                                            }
                                            if (v8_0 != null) {
                                                v8_0.deactivate();
                                            }
                                            throw v0_0;
                                        }
                                        if (v7_2 != v14_9) {
                                            long v31_0 = v4_3;
                                            String v32_2 = v5_8;
                                            v9_4 = v27;
                                            v13_1 = v28;
                                            long v4_2 = v29;
                                            if (v7_2 != 3) {
                                                if (v7_2 != 2) {
                                                    v4_3 = v31_0;
                                                    v5_8 = v32_2;
                                                    v27 = v9_4;
                                                    v28 = v13_1;
                                                    v13_3 = 0;
                                                    v14_9 = 1;
                                                } else {
                                                    try {
                                                        if (v13_1.mInternal) {
                                                            v4_3 = v31_0;
                                                        } else {
                                                            com.android.providers.media.MediaDocumentsProvider.onMediaStoreDelete(this.getContext(), v15, 2, v4_2);
                                                            v3_26[0] = String.valueOf(v4_2);
                                                            v13_1.mNumDeletes = (v13_1.mNumDeletes + 2);
                                                            v9_4.delete("audio_genres_map", "audio_id=?", v3_26);
                                                            Throwable v0_27 = v9_4.query("audio_playlists_map", com.android.providers.media.MediaProvider.sPlaylistIdPlayOrder, "audio_id=?", v3_26, 0, 0, 0);
                                                            while(true) {
                                                                String v8_10 = v0_27;
                                                                if (!v8_10.moveToNext()) {
                                                                    break;
                                                                }
                                                                Throwable v0_32 = new StringBuilder();
                                                                v0_32.append("");
                                                                long v36 = v4_2;
                                                                v0_32.append(v8_10.getLong(0));
                                                                v31_0[0] = v0_32.toString();
                                                                Throwable v0_35 = new StringBuilder();
                                                                v0_35.append("");
                                                                v0_35.append(v8_10.getInt(1));
                                                                v31_0[1] = v0_35.toString();
                                                                v13_1.mNumUpdates = (v13_1.mNumUpdates + 1);
                                                                long v4_7 = v31_0;
                                                                v9_4.execSQL("UPDATE audio_playlists_map SET play_order=play_order-1 WHERE playlist_id=? AND play_order>?", v4_7);
                                                                v31_0 = v4_7;
                                                                v0_27 = v8_10;
                                                                v4_2 = v36;
                                                            }
                                                            v4_3 = v31_0;
                                                            v9_4.delete("audio_playlists_map", "audio_id=?", v3_26);
                                                            libcore.io.IoUtils.closeQuietly(v8_10);
                                                        }
                                                    } catch (Throwable v0_0) {
                                                        String v14 = v26;
                                                        v8_0 = v32_2;
                                                    }
                                                }
                                            } else {
                                                try {
                                                    v1 = v1.deleteIfAllowed(v11, v8_3);
                                                    com.android.providers.media.MediaDocumentsProvider.onMediaStoreDelete(this.getContext(), v15, 3, v4_2);
                                                    v3_26[0] = String.valueOf(v4_2);
                                                    v13_1.mNumQueries = (v13_1.mNumQueries + 1);
                                                    Throwable v0_44 = v9_4.query("videothumbnails", com.android.providers.media.MediaProvider.sDataOnlyColumn, "video_id=?", v3_26, 0, 0, 0);
                                                } catch (Throwable v0_0) {
                                                    long v4 = v31_0;
                                                }
                                                while(true) {
                                                    String v14_7 = v0_44;
                                                    if (!v14_7.moveToNext()) {
                                                        break;
                                                    }
                                                    String v35 = v8_3;
                                                    v1 = v1.deleteIfAllowed(v11, v14_7.getString(0));
                                                    v0_44 = v14_7;
                                                    v8_3 = v35;
                                                }
                                                v13_1.mNumDeletes = (v13_1.mNumDeletes + 1);
                                                v9_4.delete("videothumbnails", "video_id=?", v3_26);
                                                libcore.io.IoUtils.closeQuietly(v14_7);
                                                if (v16) {
                                                    if (v32_2 != null) {
                                                        v8_0 = v32_2;
                                                    } else {
                                                        v8_0 = android.media.MiniThumbFile.instance(android.provider.MediaStore$Video$Media.EXTERNAL_CONTENT_URI);
                                                    }
                                                    try {
                                                        v8_0.eraseMiniThumb(v4_2);
                                                        v32_2 = v8_0;
                                                    } catch (Throwable v0_0) {
                                                        v4 = v31_0;
                                                    }
                                                }
                                                v4_3 = v31_0;
                                            }
                                            v8_0 = v32_2;
                                        } else {
                                            try {
                                                v1 = v1.deleteIfAllowed(v11, v8_3);
                                                long v31_1 = v4_3;
                                                String v32_3 = v5_8;
                                                long v4_8 = v29;
                                                try {
                                                    com.android.providers.media.MediaDocumentsProvider.onMediaStoreDelete(this.getContext(), v15, v14_9, v4_8);
                                                    v3_26[v13_3] = String.valueOf(v4_8);
                                                    v9_4 = v28;
                                                    try {
                                                        v9_4.mNumQueries = (v9_4.mNumQueries + v14_9);
                                                        Throwable v0_57 = v27.query("thumbnails", com.android.providers.media.MediaProvider.sDataOnlyColumn, "image_id=?", v3_26, 0, 0, 0);
                                                    } catch (Throwable v0_0) {
                                                        v14 = v26;
                                                        v8_0 = v32_3;
                                                    }
                                                    while(true) {
                                                        String v14_8 = v0_57;
                                                        if (!v14_8.moveToNext()) {
                                                            break;
                                                        }
                                                        try {
                                                            v1 = v1.deleteIfAllowed(v11, v14_8.getString(v13_3));
                                                            v0_57 = v14_8;
                                                            v14_8 = 1;
                                                        } catch (Throwable v0_62) {
                                                            libcore.io.IoUtils.closeQuietly(v14_8);
                                                            throw v0_62;
                                                        }
                                                    }
                                                    v9_4.mNumDeletes = (v9_4.mNumDeletes + 1);
                                                    android.database.sqlite.SQLiteDatabase v34_1 = v9_4;
                                                    v9_4 = v27;
                                                    v9_4.delete("thumbnails", "image_id=?", v3_26);
                                                    libcore.io.IoUtils.closeQuietly(v14_8);
                                                    if (v16) {
                                                        if (v6_1 == null) {
                                                            v6_1 = android.media.MiniThumbFile.instance(android.provider.MediaStore$Images$Media.EXTERNAL_CONTENT_URI);
                                                        }
                                                        v6_1.eraseMiniThumb(v4_8);
                                                    }
                                                    v4_3 = v31_1;
                                                    v5_8 = v32_3;
                                                    v13_1 = v34_1;
                                                } catch (Throwable v0_0) {
                                                    v14 = v26;
                                                    v4 = v31_1;
                                                    v8_0 = v32_3;
                                                }
                                            } catch (Throwable v0_0) {
                                                v14 = v26;
                                                v8_0 = v5_8;
                                            }
                                        }
                                    }
                                } catch (Throwable v0_0) {
                                    v8_0 = v5_8;
                                    android.database.sqlite.SQLiteDatabase v9 = v27;
                                }
                                String v32_0 = v5_8;
                                v9_0 = v27;
                                v13_0 = v28;
                                libcore.io.IoUtils.closeQuietly(v2_35);
                                if (v6_1 != null) {
                                    v6_1.deactivate();
                                }
                                if (v32_0 != null) {
                                    v32_0.deactivate();
                                }
                                v14_0 = v26;
                                if (android.text.TextUtils.isEmpty(v14_0.where)) {
                                    v14_0.where = "_id NOT IN (SELECT parent FROM files)";
                                    switch (v12_2) {
                                        case 3:
                                        case 4:
                                        case 202:
                                        case 203:
                                            android.database.sqlite.SQLiteDatabase v12_0 = v9_0;
                                            android.net.Uri v2_8 = v9_0.query(v14_0.table, com.android.providers.media.MediaProvider.sDataOnlyColumn, v14_0.where, p42, 0, 0, 0);
                                            if (v2_8 != null) {
                                                try {
                                                    while (v2_8.moveToNext()) {
                                                        v1 = v1.deleteIfAllowed(v11, v2_8.getString(0));
                                                    }
                                                } catch (Throwable v0_16) {
                                                    libcore.io.IoUtils.closeQuietly(v2_8);
                                                    throw v0_16;
                                                }
                                                libcore.io.IoUtils.closeQuietly(v2_8);
                                            }
                                            v13_0.mNumDeletes = (v13_0.mNumDeletes + 1);
                                            v0_10 = v12_0.delete(v14_0.table, v14_0.where, p42);
                                            break;
                                        case 108:
                                            v13_0.mNumDeletes = (v13_0.mNumDeletes + 1);
                                            v0_10 = v9_0.delete("audio_genres_map", v14_0.where, p42);
                                            android.database.sqlite.SQLiteDatabase v12 = v9_0;
                                            break;
                                        case 702:
                                        case 703:
                                            v13_0.mNumDeletes = (v13_0.mNumDeletes + 1);
                                            v0_10 = v9_0.delete("files", v14_0.where, p42);
                                            break;
                                        default:
                                            android.database.sqlite.SQLiteDatabase v12_1 = v9_0;
                                            v13_0.mNumDeletes = (v13_0.mNumDeletes + 1);
                                            v0_10 = v12_1.delete(v14_0.table, v14_0.where, p42);
                                    }
                                    android.net.Uri v2_12 = new StringBuilder();
                                    v2_12.append("content://media/");
                                    v2_12.append(v15);
                                    this.getContext().getContentResolver().notifyChange(android.net.Uri.parse(v2_12.toString()), 0);
                                    return v0_10;
                                } else {
                                    Throwable v0_5 = new StringBuilder();
                                    v0_5.append("(");
                                    v0_5.append(v14_0.where);
                                    v0_5.append(") AND (_id NOT IN (SELECT parent FROM files WHERE NOT (");
                                    v0_5.append(v14_0.where);
                                    v0_5.append(")))");
                                    v14_0.where = v0_5.toString();
                                }
                            }
                        }
                    }
                } else {
                    try {
                        if (this.mMtpService == null) {
                        } else {
                            this.getContext().unbindService(this.mMtpServiceConnection);
                            v13_3 = 1;
                            this.mMtpService = 0;
                        }
                    } catch (Throwable v0_66) {
                        throw v0_66;
                    }
                    v0_10 = v13_3;
                }
            } else {
                this.detachVolume(v11);
                v0_10 = 1;
            }
            return v0_10;
        } else {
            if (this.mMediaScannerVolume != null) {
                android.net.Uri v2_24 = new StringBuilder();
                v2_24.append("content://media/");
                v2_24.append(this.mMediaScannerVolume);
                v2_24.append("/audio");
                android.net.Uri v2_27 = this.getDatabaseForUri(android.net.Uri.parse(v2_24.toString()));
                if (v2_27 != null) {
                    v2_27.mScanStopTime = android.os.SystemClock.currentTimeMicro();
                    com.android.providers.media.MediaProvider.logToDb(v2_27.getWritableDatabase(), this.dump(v2_27, 0));
                } else {
                    long v4_12 = new StringBuilder();
                    v4_12.append("no database for scanned volume ");
                    v4_12.append(this.mMediaScannerVolume);
                    android.util.Log.w(com.android.providers.media.MediaProvider.TAG, v4_12.toString());
                }
                if ("internal".equals(this.mMediaScannerVolume)) {
                    long v4_16 = this.getContext().getSharedPreferences("MediaScanBuild", 0).edit();
                    v4_16.putString("lastScanFingerprint", android.os.Build.FINGERPRINT);
                    v4_16.apply();
                }
                this.mMediaScannerVolume = 0;
                this.pruneThumbnails();
                return 1;
            } else {
                return 0;
            }
        }
    }

Method com.android.providers.media.MediaProvider.applyBatch() calling method android.net.Uri.parse()


    public android.content.ContentProviderResult[] applyBatch(java.util.ArrayList p10)
    {
        try {
            Throwable v1_1 = this.getDatabaseForUri(android.provider.MediaStore$Audio$Media.INTERNAL_CONTENT_URI);
            com.android.providers.media.MediaProvider$DatabaseHelper v2_1 = this.getDatabaseForUri(android.provider.MediaStore$Audio$Media.EXTERNAL_CONTENT_URI);
            android.database.sqlite.SQLiteDatabase v3 = v1_1.getWritableDatabase();
            v3.beginTransaction();
            android.database.sqlite.SQLiteDatabase v5 = 0;
        } catch (Throwable v1_2) {
            throw v1_2;
        }
        if (v2_1 == null) {
            if (v5 != null) {
                v5.beginTransaction();
            }
            android.content.ContentProviderResult[] v6_1 = super.applyBatch(p10);
            v3.setTransactionSuccessful();
            if (v5 != null) {
                v5.setTransactionSuccessful();
            }
            this.getContext().getContentResolver().notifyChange(android.net.Uri.parse("content://media/"), 0);
            v3.endTransaction();
            if (v5 != null) {
                v5.endTransaction();
            }
            return v6_1;
        } else {
            v5 = v2_1.getWritableDatabase();
        }
        throw Throwable v4_1;
    }

Method com.android.providers.media.MediaProvider.insertInternal() calling method android.net.Uri.parse()


    private android.net.Uri insertInternal(android.net.Uri p26, int p27, android.content.ContentValues p28, java.util.ArrayList p29)
    {
        void v8 = this;
        String v12 = com.android.providers.media.MediaProvider.getVolumeName(p26);
        if (p27 != 500) {
            int v0_4 = 0;
            long v1_7 = 0;
            if (p28 != null) {
                v0_4 = p28.getAsString("genre");
                p28.remove("genre");
                v1_7 = p28.getAsString("_data");
            }
            String v13 = v0_4;
            String v14 = v1_7;
            java.util.ArrayList v7_2 = this.getDatabaseForUri(p26);
            if ((v7_2 == null) && ((p27 != 300) && (p27 != 705))) {
                long v1_22 = new StringBuilder();
                v1_22.append("Unknown URI: ");
                v1_22.append(p26);
                throw new UnsupportedOperationException(v1_22.toString());
            } else {
                if ((p27 != 300) && (p27 != 705)) {
                    int v0_44 = v7_2.getWritableDatabase();
                } else {
                    v0_44 = 0;
                }
                android.net.Uri v15_2;
                int v18_1;
                android.net.Uri v15_0;
                android.net.Uri v15_1;
                android.net.Uri v23;
                int v0_1;
                java.util.ArrayList v19;
                int v10_0;
                int v6_1 = v0_44;
                switch (p27) {
                    case 1:
                        v10_0 = v6_1;
                        v23 = 0;
                        v15_0 = v7_2;
                        int v0_45 = this.insertFile(v15_0, p26, p28, 1, 1, p29);
                        if (v0_45 <= 0) {
                            v0_1 = v23;
                        } else {
                            com.android.providers.media.MediaDocumentsProvider.onMediaStoreInsert(this.getContext(), v12, 1, v0_45);
                            v0_1 = android.content.ContentUris.withAppendedId(android.provider.MediaStore$Images$Media.getContentUri(v12), v0_45);
                        }
                        break;
                    case 3:
                        v10_0 = v6_1;
                        v23 = 0;
                        v15_0 = v7_2;
                        int v0_43 = this.ensureFile(v15_0.mInternal, p28, ".jpg", "DCIM/.thumbnails");
                        v15_0.mNumInserts = (v15_0.mNumInserts + 1);
                        long v1_37 = v10_0.insert("thumbnails", "name", v0_43);
                        if (v1_37 <= 0) {
                        } else {
                            v0_1 = android.content.ContentUris.withAppendedId(android.provider.MediaStore$Images$Thumbnails.getContentUri(v12), v1_37);
                        }
                        break;
                    case 100:
                        v10_0 = v6_1;
                        v23 = 0;
                        v15_0 = v7_2;
                        long v1_32 = this.insertFile(v7_2, p26, p28, 2, 1, p29);
                        if (v1_32 <= 0) {
                        } else {
                            com.android.providers.media.MediaDocumentsProvider.onMediaStoreInsert(this.getContext(), v12, 2, v1_32);
                            v0_1 = android.content.ContentUris.withAppendedId(android.provider.MediaStore$Audio$Media.getContentUri(v12), v1_32);
                            if (v13 == null) {
                            } else {
                                v8 = this.updateGenre(v1_32, v13);
                            }
                        }
                        break;
                    case 102:
                        v10_0 = v6_1;
                        int v0_39 = Long.valueOf(Long.parseLong(((String) p26.getPathSegments().get(2))));
                        long v1_30 = new android.content.ContentValues(p28);
                        v1_30.put("audio_id", v0_39);
                        v7_2.mNumInserts = (v7_2.mNumInserts + 1);
                        String v2_42 = v10_0.insert("audio_genres_map", "genre_id", v1_30);
                        if (v2_42 <= 0) {
                            v23 = 0;
                            v15_0 = v7_2;
                        } else {
                            v15_2 = android.content.ContentUris.withAppendedId(p26, v2_42);
                            v0_1 = v15_2;
                            v15_0 = v7_2;
                        }
                        break;
                    case 104:
                        v10_0 = v6_1;
                        int v0_35 = Long.valueOf(Long.parseLong(((String) p26.getPathSegments().get(2))));
                        long v1_26 = new android.content.ContentValues(p28);
                        v1_26.put("audio_id", v0_35);
                        v7_2.mNumInserts = (v7_2.mNumInserts + 1);
                        String v2_37 = v10_0.insert("audio_playlists_map", "playlist_id", v1_26);
                        if (v2_37 <= 0) {
                        } else {
                            v15_2 = android.content.ContentUris.withAppendedId(p26, v2_37);
                        }
                        break;
                    case 106:
                        v10_0 = v6_1;
                        v7_2.mNumInserts = (v7_2.mNumInserts + 1);
                        int v0_31 = v10_0.insert("audio_genres", "audio_id", p28);
                        if (v0_31 <= 0) {
                        } else {
                            v15_2 = android.content.ContentUris.withAppendedId(android.provider.MediaStore$Audio$Genres.getContentUri(v12), v0_31);
                        }
                        break;
                    case 108:
                        int v22_1 = v6_1;
                        int v0_27 = Long.valueOf(Long.parseLong(((String) p26.getPathSegments().get(3))));
                        long v1_20 = new android.content.ContentValues(p28);
                        v1_20.put("genre_id", v0_27);
                        v7_2.mNumInserts = (v7_2.mNumInserts + 1);
                        v10_0 = v22_1;
                        String v2_29 = v10_0.insert("audio_genres_map", "genre_id", v1_20);
                        if (v2_29 <= 0) {
                        } else {
                            v15_2 = android.content.ContentUris.withAppendedId(p26, v2_29);
                        }
                        break;
                    case 110:
                        int v0_21 = new android.content.ContentValues(p28);
                        v0_21.put("date_added", Long.valueOf((System.currentTimeMillis() / 1000)));
                        int v22_0 = v6_1;
                        int v10_5 = v7_2;
                        long v1_18 = this.insertFile(v7_2, p26, v0_21, 4, 1, p29);
                        if (v1_18 <= 0) {
                            v23 = 0;
                            v15_0 = v10_5;
                            v10_0 = v22_0;
                        } else {
                            v0_1 = android.content.ContentUris.withAppendedId(android.provider.MediaStore$Audio$Playlists.getContentUri(v12), v1_18);
                            v15_0 = v10_5;
                            v10_0 = v22_0;
                        }
                        break;
                    case 111:
                    case 112:
                        int v0_18 = Long.valueOf(Long.parseLong(((String) p26.getPathSegments().get(3))));
                        long v1_14 = new android.content.ContentValues(p28);
                        v1_14.put("playlist_id", v0_18);
                        v7_2.mNumInserts = (v7_2.mNumInserts + 1);
                        String v2_20 = v6_1.insert("audio_playlists_map", "playlist_id", v1_14);
                        if (v2_20 <= 0) {
                            v10_0 = v6_1;
                        } else {
                            v15_2 = android.content.ContentUris.withAppendedId(p26, v2_20);
                            v10_0 = v6_1;
                        }
                        break;
                    case 119:
                        int v20_1 = v6_1;
                        if (v7_2.mInternal) {
                            throw new UnsupportedOperationException("no internal album art allowed");
                        } else {
                            try {
                                int v0_13 = this.ensureFile(0, p28, "", "Android/data/com.android.providers.media/albumthumbs");
                            } catch (int v0) {
                                v0_13 = p28;
                            }
                            v7_2.mNumInserts = (v7_2.mNumInserts + 1);
                            v6_1 = v20_1;
                            long v1_12 = v6_1.insert("album_art", "_data", v0_13);
                            if (v1_12 <= 0) {
                            } else {
                                v15_2 = android.content.ContentUris.withAppendedId(p26, v1_12);
                            }
                        }
                        break;
                    case 200:
                        int v20_0 = v6_1;
                        java.util.ArrayList v21 = v7_2;
                        int v0_8 = this.insertFile(v7_2, p26, p28, 3, 1, p29);
                        if (v0_8 <= 0) {
                            v23 = 0;
                            v10_0 = v20_0;
                            v15_0 = v21;
                        } else {
                            com.android.providers.media.MediaDocumentsProvider.onMediaStoreInsert(this.getContext(), v12, 3, v0_8);
                            v0_1 = android.content.ContentUris.withAppendedId(android.provider.MediaStore$Video$Media.getContentUri(v12), v0_8);
                            v10_0 = v20_0;
                            v15_0 = v21;
                        }
                        break;
                    case 202:
                        v19 = v7_2;
                        int v0_6 = this.ensureFile(v7_2.mInternal, p28, ".jpg", "DCIM/.thumbnails");
                        v7_2.mNumInserts = (v7_2.mNumInserts + 1);
                        long v1_5 = v6_1.insert("videothumbnails", "name", v0_6);
                        if (v1_5 <= 0) {
                        } else {
                            v15_2 = android.content.ContentUris.withAppendedId(android.provider.MediaStore$Video$Thumbnails.getContentUri(v12), v1_5);
                        }
                        break;
                    case 300:
                        v19 = v7_2;
                        int v0_3 = p28.getAsString("name");
                        long v1_0 = this.attachVolume(v0_3);
                        if ((this.mMediaScannerVolume != null) && (this.mMediaScannerVolume.equals(v0_3))) {
                            String v2_5 = this.getDatabaseForUri(v1_0);
                            if (v2_5 != null) {
                                v2_5.mScanStartTime = android.os.SystemClock.currentTimeMicro();
                            } else {
                                String v4_1 = new StringBuilder();
                                v4_1.append("no database for attached volume ");
                                v4_1.append(v1_0);
                                android.util.Log.e(com.android.providers.media.MediaProvider.TAG, v4_1.toString());
                            }
                        }
                        return v1_0;
                    case 700:
                        v18_1 = v6_1;
                        v19 = v7_2;
                        int v0_0 = this.insertFile(v19, p26, p28, 0, 1, p29);
                        if (v0_0 <= 0) {
                            v23 = 0;
                            v10_0 = v18_1;
                            v15_0 = v19;
                        } else {
                            v15_1 = android.provider.MediaStore$Files.getContentUri(v12, v0_0);
                            v0_1 = v15_1;
                            v10_0 = v18_1;
                            v15_0 = v19;
                        }
                        break;
                    case 702:
                        v18_1 = v6_1;
                        v19 = v7_2;
                        int v0_63 = this.insertFile(v7_2, p26, p28, 0, 0, p29);
                        if (v0_63 <= 0) {
                        } else {
                            v15_1 = android.provider.MediaStore$Files.getMtpObjectsUri(v12, v0_63);
                        }
                        break;
                    case 705:
                        if (this.mMtpService == null) {
                            int v0_60 = this.getContext();
                            v0_60.bindService(new android.content.Intent(v0_60, com.android.providers.media.MtpService), this.mMtpServiceConnection, 1);
                        }
                        this.fixParentIdIfNeeded();
                        break;
                    case 706:
                        int v0_57 = this.insertDirectory(v7_2, v7_2.getWritableDatabase(), p28.getAsString("_data"));
                        if (v0_57 <= 0) {
                        } else {
                            v15_2 = android.provider.MediaStore$Files.getContentUri(v12, v0_57);
                        }
                        break;
                    default:
                        v23 = 0;
                        long v1_43 = new StringBuilder();
                        v1_43.append("Invalid URI ");
                        v1_43.append(p26);
                        throw new UnsupportedOperationException(v1_43.toString());
                }
                if ((v14 != null) && (v14.toLowerCase(java.util.Locale.US).endsWith("/.nomedia"))) {
                    v8.processNewNoMediaPath(v15_0, v10_0, v14);
                }
                return v0_1;
            }
        } else {
            this.mMediaScannerVolume = p28.getAsString("volume");
            int v0_52 = new StringBuilder();
            v0_52.append("content://media/");
            v0_52.append(this.mMediaScannerVolume);
            v0_52.append("/audio");
            int v0_55 = this.getDatabaseForUri(android.net.Uri.parse(v0_52.toString()));
            if (v0_55 != 0) {
                v0_55.mScanStartTime = android.os.SystemClock.currentTimeMicro();
            } else {
                String v2_55 = new StringBuilder();
                v2_55.append("no database for scanned volume ");
                v2_55.append(this.mMediaScannerVolume);
                android.util.Log.w(com.android.providers.media.MediaProvider.TAG, v2_55.toString());
            }
            return android.provider.MediaStore.getMediaScannerUri();
        }
    }

Method com.android.providers.media.MediaProvider.hidePath() calling method android.net.Uri.parse()


    private void hidePath(com.android.providers.media.MediaProvider$DatabaseHelper p19, android.database.sqlite.SQLiteDatabase p20, String p21)
    {
        android.database.Cursor v1_1;
        int v10_4 = 1;
        android.media.MediaScanner.clearMediaPathCache(1, 0);
        java.io.File v13 = new java.io.File(p21);
        if (!v13.isDirectory()) {
            v1_1 = v13.getParent();
        } else {
            v1_1 = p21;
        }
        String v14 = v1_1;
        android.net.Uri v5_1 = new String[2];
        android.database.Cursor v1_4 = new StringBuilder();
        v1_4.append(v14);
        v1_4.append("/");
        v5_1[0] = v1_4.toString();
        android.database.Cursor v1_7 = new StringBuilder();
        v1_7.append(v14);
        v1_7.append("0");
        v5_1[1] = v1_7.toString();
        android.database.Cursor v1_10 = p20.query("files", new String[] {"_id", "media_type"}), "_data >= ? AND _data < ? AND (media_type=1 OR media_type=3) AND mini_thumb_magic IS NOT NULL", v5_1, 0, 0, 0);
        if (v1_10 != null) {
            if (v1_10.getCount() != 0) {
                android.content.ContentValues v2_3 = android.net.Uri.parse("content://media/external/images/media");
                int v3_3 = android.net.Uri.parse("content://media/external/videos/media");
                while (v1_10.moveToNext()) {
                    int v8_2;
                    long v4_0 = v1_10.getLong(0);
                    long v6_1 = v1_10.getLong(v10_4);
                    int v10_1 = new StringBuilder();
                    v10_1.append("hiding image ");
                    v10_1.append(v4_0);
                    v10_1.append(", removing thumbnail");
                    android.util.Log.i(com.android.providers.media.MediaProvider.TAG, v10_1.toString());
                    if (v6_1 != 1) {
                        v8_2 = v3_3;
                    } else {
                        v8_2 = v2_3;
                    }
                    this.removeThumbnailFor(v8_2, p20, v4_0);
                    v10_4 = 1;
                }
            }
            libcore.io.IoUtils.closeQuietly(v1_10);
        }
        android.content.ContentValues v2_5 = new android.content.ContentValues();
        v2_5.put("media_type", Integer.valueOf(0));
        android.net.Uri v5_3 = new String[2];
        long v6_6 = new StringBuilder();
        v6_6.append(v14);
        v6_6.append("/");
        v5_3[0] = v6_6.toString();
        long v6_9 = new StringBuilder();
        v6_9.append(v14);
        v6_9.append("0");
        v5_3[1] = v6_9.toString();
        p19.mNumUpdates = (p19.mNumUpdates + p20.update("files", v2_5, "_data >= ? AND _data < ?", v5_3));
        this.getContext().getContentResolver().notifyChange(android.net.Uri.parse("content://media/"), 0);
        return;
    }

Method com.android.providers.media.MediaProvider.getTitleFromResourceUri() calling method android.net.Uri.parse()


    private String getTitleFromResourceUri(String p10, boolean p11)
    {
        if (!android.text.TextUtils.isEmpty(p10)) {
            android.net.Uri v0_1 = android.net.Uri.parse(p10);
            if ("android.resource".equals(v0_1.getScheme())) {
                java.util.List v3_1 = v0_1.getPathSegments();
                if (v3_1.size() == 2) {
                    String v5_2 = ((String) v3_1.get(0));
                    if ("string".equals(v5_2)) {
                        android.content.res.Resources v4_3;
                        String v1_1 = v0_1.getAuthority();
                        if (!p11) {
                            android.content.res.Resources v4_2 = this.getContext().createPackageContext(v1_1, 0);
                            String v6_4 = v4_2.getResources().getConfiguration();
                            v6_4.setLocale(java.util.Locale.US);
                            v4_3 = v4_2.createConfigurationContext(v6_4).getResources();
                        } else {
                            v4_3 = this.mPackageManager.getResourcesForApplication(v1_1);
                        }
                        return v4_3.getString(v4_3.getIdentifier(((String) v3_1.get(1)), v5_2, v1_1));
                    } else {
                        String v6_9 = new StringBuilder();
                        v6_9.append("Error getting localized title for ");
                        v6_9.append(p10);
                        v6_9.append(", first path segment must be \"string\"");
                        android.util.Log.e(com.android.providers.media.MediaProvider.TAG, v6_9.toString());
                        return 0;
                    }
                } else {
                    String v5_4 = new StringBuilder();
                    v5_4.append("Error getting localized title for ");
                    v5_4.append(p10);
                    v5_4.append(", must have 2 path segments");
                    android.util.Log.e(com.android.providers.media.MediaProvider.TAG, v5_4.toString());
                    return 0;
                }
            } else {
                return 0;
            }
        } else {
            return 0;
        }
    }

Method com.android.providers.media.MediaProvider.getKeyIdForName() calling method android.net.Uri.parse()


    private long getKeyIdForName(com.android.providers.media.MediaProvider$DatabaseHelper p31, android.database.sqlite.SQLiteDatabase p32, String p33, String p34, String p35, String p36, String p37, String p38, int p39, String p40, java.util.HashMap p41, android.net.Uri p42)
    {
        if ((p36 != null) && (p36.length() != 0)) {
            void v1_0 = p36;
        } else {
            v1_0 = "<unknown>";
        }
        Throwable v0_7 = android.provider.MediaStore$Audio.keyFor(v1_0);
        if (v0_7 != null) {
            boolean v18 = p33.equals("albums");
            boolean v19 = "<unknown>".equals(v1_0);
            if (v18) {
                android.database.Cursor v8_3 = new StringBuilder();
                v8_3.append(v0_7);
                v8_3.append(p39);
                v0_7 = v8_3.toString();
                if (v19) {
                    android.database.Cursor v8_6 = new StringBuilder();
                    v8_6.append(v0_7);
                    v8_6.append(p40);
                    v0_7 = v8_6.toString();
                }
            }
            android.content.ContentResolver v13_12 = v0_7;
            java.util.HashMap v12_1 = new String[1];
            v12_1[0] = v13_12;
            p31.mNumQueries = (p31.mNumQueries + 1);
            android.database.Cursor v8_10 = new StringBuilder();
            v8_10.append(p34);
            v8_10.append("=?");
            String v24 = v13_12;
            android.database.Cursor v8_12 = p32.query(p33, 0, v8_10.toString(), v12_1, 0, 0, 0);
            try {
                java.util.HashMap v12_0;
                android.content.ContentResolver v13_11;
                switch (v8_12.getCount()) {
                    case 0:
                        Throwable v0_11 = new android.content.ContentValues();
                        String v7_1;
                        v0_11.put(p34, v24);
                        v0_11.put(p35, v1_0);
                        p31.mNumInserts = (p31.mNumInserts + 1);
                        v13_11 = p32.insert(p33, "duration", v0_11);
                        if ((p38 == null) || ((!v18) || (v19))) {
                            v7_1 = p33;
                            v12_0 = p41;
                        } else {
                            v12_0 = p41;
                            v7_1 = p33;
                            this.makeThumbAsync(p31, p32, p38, v13_11);
                        }
                        if (v13_11 > 0) {
                            void v1_5 = p42.toString().substring(16, 24);
                            android.net.Uri v2_11 = new StringBuilder();
                            v2_11.append("content://media/");
                            v2_11.append(v1_5);
                            v2_11.append("/audio/");
                            v2_11.append(v7_1);
                            v2_11.append("/");
                            v2_11.append(v13_11);
                            this.getContext().getContentResolver().notifyChange(android.net.Uri.parse(v2_11.toString()), 0);
                        }
                        break;
                    case 1:
                        try {
                            v8_12.moveToFirst();
                            long v14_2 = v8_12.getLong(0);
                            Throwable v0_17 = v8_12.getString(2);
                            try {
                                String v10_5 = this.makeBestName(v1_0, v0_17);
                            } catch (Throwable v0_9) {
                                long v15 = v1_0;
                                java.util.HashMap v28 = v12_1;
                                java.util.HashMap v12 = p41;
                                libcore.io.IoUtils.closeQuietly(v8_12);
                                throw v0_9;
                            }
                            if (!v10_5.equals(v0_17)) {
                                android.content.ContentValues v11_1 = new android.content.ContentValues();
                                v11_1.put(p35, v10_5);
                                p31.mNumUpdates = (p31.mNumUpdates + 1);
                                android.content.ContentResolver v13_3 = new StringBuilder();
                                v13_3.append("rowid=");
                                v13_3.append(Integer.toString(((int) v14_2)));
                                p32.update(p33, v11_1, v13_3.toString(), 0);
                                try {
                                    Throwable v0_6 = p42.toString().substring(16, 24);
                                    android.net.Uri v2_2 = new StringBuilder();
                                    v2_2.append("content://media/");
                                    v2_2.append(v0_6);
                                    v2_2.append("/audio/");
                                    v2_2.append(p33);
                                    v2_2.append("/");
                                    v2_2.append(v14_2);
                                    this.getContext().getContentResolver().notifyChange(android.net.Uri.parse(v2_2.toString()), 0);
                                } catch (Throwable v0_9) {
                                    v15 = v1_0;
                                    v28 = v12_1;
                                    v12 = p41;
                                }
                            }
                            v28 = v12_1;
                            v13_11 = v14_2;
                            v12_0 = p41;
                        } catch (Throwable v0_9) {
                        }
                        break;
                    default:
                        v15 = v1_0;
                        String v10_1 = v24;
                        v12_0 = p41;
                        void v1_7 = new StringBuilder();
                        v1_7.append("Multiple entries in table ");
                        v1_7.append(p33);
                        v1_7.append(" for key ");
                        v1_7.append(v10_1);
                        android.util.Log.e(com.android.providers.media.MediaProvider.TAG, v1_7.toString());
                        v13_11 = -1;
                }
            } catch (Throwable v0_9) {
                android.content.ContentResolver v3 = p37;
                String v7 = p33;
                String v10 = v24;
            } catch (Throwable v0_9) {
            }
            Throwable v0_13 = v13_11;
            libcore.io.IoUtils.closeQuietly(v8_12);
            if ((v12_0 != null) && (!v19)) {
                v12_0.put(p37, Long.valueOf(v0_13));
            }
            return v0_13;
        } else {
            android.util.Log.e(com.android.providers.media.MediaProvider.TAG, "null key", new Exception());
            return -1;
        }
    }

Method com.android.providers.media.MediaProvider.getKeyIdForName() calling method android.net.Uri.parse()


    private long getKeyIdForName(com.android.providers.media.MediaProvider$DatabaseHelper p31, android.database.sqlite.SQLiteDatabase p32, String p33, String p34, String p35, String p36, String p37, String p38, int p39, String p40, java.util.HashMap p41, android.net.Uri p42)
    {
        if ((p36 != null) && (p36.length() != 0)) {
            void v1_0 = p36;
        } else {
            v1_0 = "<unknown>";
        }
        Throwable v0_7 = android.provider.MediaStore$Audio.keyFor(v1_0);
        if (v0_7 != null) {
            boolean v18 = p33.equals("albums");
            boolean v19 = "<unknown>".equals(v1_0);
            if (v18) {
                android.database.Cursor v8_3 = new StringBuilder();
                v8_3.append(v0_7);
                v8_3.append(p39);
                v0_7 = v8_3.toString();
                if (v19) {
                    android.database.Cursor v8_6 = new StringBuilder();
                    v8_6.append(v0_7);
                    v8_6.append(p40);
                    v0_7 = v8_6.toString();
                }
            }
            android.content.ContentResolver v13_12 = v0_7;
            java.util.HashMap v12_1 = new String[1];
            v12_1[0] = v13_12;
            p31.mNumQueries = (p31.mNumQueries + 1);
            android.database.Cursor v8_10 = new StringBuilder();
            v8_10.append(p34);
            v8_10.append("=?");
            String v24 = v13_12;
            android.database.Cursor v8_12 = p32.query(p33, 0, v8_10.toString(), v12_1, 0, 0, 0);
            try {
                android.content.ContentResolver v13_11;
                java.util.HashMap v12_0;
                switch (v8_12.getCount()) {
                    case 0:
                        Throwable v0_11 = new android.content.ContentValues();
                        String v7_1;
                        v0_11.put(p34, v24);
                        v0_11.put(p35, v1_0);
                        p31.mNumInserts = (p31.mNumInserts + 1);
                        v13_11 = p32.insert(p33, "duration", v0_11);
                        if ((p38 == null) || ((!v18) || (v19))) {
                            v7_1 = p33;
                            v12_0 = p41;
                        } else {
                            v12_0 = p41;
                            v7_1 = p33;
                            this.makeThumbAsync(p31, p32, p38, v13_11);
                        }
                        if (v13_11 > 0) {
                            void v1_5 = p42.toString().substring(16, 24);
                            android.net.Uri v2_11 = new StringBuilder();
                            v2_11.append("content://media/");
                            v2_11.append(v1_5);
                            v2_11.append("/audio/");
                            v2_11.append(v7_1);
                            v2_11.append("/");
                            v2_11.append(v13_11);
                            this.getContext().getContentResolver().notifyChange(android.net.Uri.parse(v2_11.toString()), 0);
                        }
                        break;
                    case 1:
                        try {
                            v8_12.moveToFirst();
                            long v14_2 = v8_12.getLong(0);
                            Throwable v0_17 = v8_12.getString(2);
                            try {
                                String v10_5 = this.makeBestName(v1_0, v0_17);
                            } catch (Throwable v0_9) {
                                long v15 = v1_0;
                                java.util.HashMap v28 = v12_1;
                                java.util.HashMap v12 = p41;
                                libcore.io.IoUtils.closeQuietly(v8_12);
                                throw v0_9;
                            }
                            if (!v10_5.equals(v0_17)) {
                                android.content.ContentValues v11_1 = new android.content.ContentValues();
                                v11_1.put(p35, v10_5);
                                p31.mNumUpdates = (p31.mNumUpdates + 1);
                                android.content.ContentResolver v13_3 = new StringBuilder();
                                v13_3.append("rowid=");
                                v13_3.append(Integer.toString(((int) v14_2)));
                                p32.update(p33, v11_1, v13_3.toString(), 0);
                                try {
                                    Throwable v0_6 = p42.toString().substring(16, 24);
                                    android.net.Uri v2_2 = new StringBuilder();
                                    v2_2.append("content://media/");
                                    v2_2.append(v0_6);
                                    v2_2.append("/audio/");
                                    v2_2.append(p33);
                                    v2_2.append("/");
                                    v2_2.append(v14_2);
                                    this.getContext().getContentResolver().notifyChange(android.net.Uri.parse(v2_2.toString()), 0);
                                } catch (Throwable v0_9) {
                                    v15 = v1_0;
                                    v28 = v12_1;
                                    v12 = p41;
                                }
                            }
                            v28 = v12_1;
                            v13_11 = v14_2;
                            v12_0 = p41;
                        } catch (Throwable v0_9) {
                        }
                        break;
                    default:
                        v15 = v1_0;
                        String v10_1 = v24;
                        v12_0 = p41;
                        void v1_7 = new StringBuilder();
                        v1_7.append("Multiple entries in table ");
                        v1_7.append(p33);
                        v1_7.append(" for key ");
                        v1_7.append(v10_1);
                        android.util.Log.e(com.android.providers.media.MediaProvider.TAG, v1_7.toString());
                        v13_11 = -1;
                }
            } catch (Throwable v0_9) {
                android.content.ContentResolver v3 = p37;
                String v7 = p33;
                String v10 = v24;
            } catch (Throwable v0_9) {
            }
            Throwable v0_13 = v13_11;
            libcore.io.IoUtils.closeQuietly(v8_12);
            if ((v12_0 != null) && (!v19)) {
                v12_0.put(p37, Long.valueOf(v0_13));
            }
            return v0_13;
        } else {
            android.util.Log.e(com.android.providers.media.MediaProvider.TAG, "null key", new Exception());
            return -1;
        }
    }

Method com.android.providers.media.MediaProvider.fixParentIdIfNeeded() calling method android.net.Uri.parse()


    private void fixParentIdIfNeeded()
    {
        com.android.providers.media.MediaProvider$DatabaseHelper v2 = this.getDatabaseForUri(android.net.Uri.parse("content://media/external/file"));
        if (v2 != null) {
            android.database.sqlite.SQLiteDatabase v12 = v2.getWritableDatabase();
            int v11_0 = 0;
            long v14 = -1;
            int v10_0 = 0;
            String v0_9 = 1;
            while(true) {
                android.net.Uri v3_9;
                int v16 = v0_9;
                String v0_11 = new StringBuilder();
                v0_11.append("parent != 0 AND parent NOT IN (SELECT _id FROM files)");
                if (v14 >= 0) {
                    android.net.Uri v3_8 = new StringBuilder();
                    v3_8.append(" AND _id > ");
                    v3_8.append(v14);
                    v3_9 = v3_8.toString();
                } else {
                    v3_9 = "";
                }
                v0_11.append(v3_9);
                int v18 = v10_0;
                int v13_4 = v11_0;
                android.net.Uri v3_11 = v12.query("files", com.android.providers.media.MediaProvider.sDataId, v0_11.toString(), 0, 0, 0, "_id ASC", "500");
                if (v3_11 != null) {
                    try {
                        if (v3_11.getCount() != 0) {
                            v11_0 = (v13_4 + v3_11.getCount());
                            if (v16 != 0) {
                                try {
                                } catch (String v0_5) {
                                    libcore.io.IoUtils.closeQuietly(v3_11);
                                    throw v0_5;
                                }
                                this.mDirectoryCache.clear();
                                v16 = 0;
                            }
                            v10_0 = v18;
                            try {
                                while (v3_11.moveToNext()) {
                                    String v4_9 = v3_11.getString(0);
                                    v14 = v3_11.getLong(1);
                                    if (!new java.io.File(v4_9).exists()) {
                                        String v5_10 = new StringBuilder();
                                        v5_10.append("_id=");
                                        v5_10.append(v14);
                                        v12.delete("files", v5_10.toString(), 0);
                                    } else {
                                        int v7_4 = this.getParent(v2, v12, v4_9);
                                        android.content.ContentValues v9_2 = new android.content.ContentValues();
                                        v9_2.put("parent", Long.valueOf(v7_4));
                                        int v13_2 = new StringBuilder();
                                        v13_2.append("_id=");
                                        v13_2.append(v14);
                                        String v0_4 = v12.update("files", v9_2, v13_2.toString(), 0);
                                        v2.mNumUpdates = (v2.mNumUpdates + v0_4);
                                        v10_0 += v0_4;
                                    }
                                }
                            } catch (String v0_5) {
                            }
                        } else {
                            String v5_5;
                            libcore.io.IoUtils.closeQuietly(v3_11);
                            if (v13_4 <= 0) {
                                v5_5 = v18;
                            } else {
                                android.net.Uri v3_1 = new StringBuilder();
                                v3_1.append("fixParentIdIfNeeded: found: ");
                                v3_1.append(v13_4);
                                v3_1.append(", fixed: ");
                                v5_5 = v18;
                                v3_1.append(v5_5);
                                android.util.Log.d(com.android.providers.media.MediaProvider.TAG, v3_1.toString());
                            }
                            if (v5_5 > null) {
                                this.getContext().getContentResolver().notifyChange(android.net.Uri.parse("content://media/"), 0);
                            }
                            return;
                        }
                    } catch (String v0_5) {
                    }
                }
            }
            libcore.io.IoUtils.closeQuietly(v3_11);
            v0_9 = v16;
        } else {
            return;
        }
    }

Method com.android.providers.media.MediaProvider.attachVolume() calling method android.net.Uri.parse()


    private android.net.Uri attachVolume(String p19)
    {
        if (android.os.Binder.getCallingPid() != android.os.Process.myPid()) {
            throw new SecurityException("Opening and closing databases not allowed.");
        } else {
            void v18_1 = this.updateStoragePaths();
            java.util.HashMap v9 = this.mDatabases;
            int v1_1 = ((com.android.providers.media.MediaProvider$DatabaseHelper) this.mDatabases.get(p19));
            if (v1_1 == 0) {
                String v10_5;
                int v6_0 = v18_1.getContext();
                if (!"internal".equals(p19)) {
                    if (!"external".equals(p19)) {
                        String v2_9 = new StringBuilder();
                        v2_9.append("There is no volume named ");
                        v2_9.append(p19);
                        throw new IllegalArgumentException(v2_9.toString());
                    } else {
                        int v1_0;
                        if (this.mStorageManager.getPrimaryPhysicalVolume() == null) {
                            String v2_12 = v6_0.getDatabasePath("external.db");
                            if ((!v2_12.exists()) && (android.os.Build$VERSION.SDK_INT < 14)) {
                                String v4_7 = v6_0.databaseList();
                                String v10_12 = v4_7.length;
                                java.io.File v11_1 = 0;
                                String v3_0 = 0;
                                while (v3_0 < v10_12) {
                                    String v12_1 = v4_7[v3_0];
                                    if ((v12_1.startsWith("external-")) && (v12_1.endsWith(".db"))) {
                                        java.io.File v13_5 = v6_0.getDatabasePath(v12_1);
                                        if (v11_1 != null) {
                                            if (v13_5.lastModified() <= v11_1.lastModified()) {
                                                v6_0.deleteDatabase(v13_5.getName());
                                            } else {
                                                v6_0.deleteDatabase(v11_1.getName());
                                                v11_1 = v13_5;
                                            }
                                        } else {
                                            v11_1 = v13_5;
                                        }
                                    }
                                    v3_0++;
                                }
                                if (v11_1 != null) {
                                    if (!v11_1.renameTo(v2_12)) {
                                        String v4_9 = new StringBuilder();
                                        v4_9.append("Failed to rename database ");
                                        v4_9.append(v11_1.getName());
                                        v4_9.append(" to ");
                                        v4_9.append("external.db");
                                        android.util.Log.e(com.android.providers.media.MediaProvider.TAG, v4_9.toString());
                                        v2_12 = v11_1;
                                    } else {
                                        String v4_12 = new StringBuilder();
                                        v4_12.append("renamed database ");
                                        v4_12.append(v11_1.getName());
                                        v4_12.append(" to ");
                                        v4_12.append("external.db");
                                        android.util.Log.d(com.android.providers.media.MediaProvider.TAG, v4_12.toString());
                                    }
                                }
                            }
                            String v3_12 = new com.android.providers.media.MediaProvider$DatabaseHelper;
                            v3_12(v6_0, v2_12.getName(), 0, 0, this.mObjectRemovedCallback);
                            v1_0 = v3_12;
                        } else {
                            String v3_1 = this.mStorageManager.getPrimaryVolume().getFatVolumeId();
                            if (v3_1 != -1) {
                                String v4_2 = new StringBuilder();
                                v4_2.append("external-");
                                v4_2.append(Integer.toHexString(v3_1));
                                v4_2.append(".db");
                                String v4_3 = new com.android.providers.media.MediaProvider$DatabaseHelper;
                                v4_3(v6_0, v4_2.toString(), 0, 0, this.mObjectRemovedCallback);
                                v1_0 = v4_3;
                                this.mVolumeId = v3_1;
                            } else {
                                String v4_4 = android.os.Environment.getExternalStorageState();
                                if ("mounted".equals(v4_4)) {
                                    android.util.Log.e(com.android.providers.media.MediaProvider.TAG, "Can\'t obtain external volume ID even though it\'s mounted.");
                                } else {
                                    if (!"mounted_ro".equals(v4_4)) {
                                        android.util.Log.i(com.android.providers.media.MediaProvider.TAG, "External volume is not (yet) mounted, cannot attach.");
                                    } else {
                                    }
                                }
                                String v10_9 = new StringBuilder();
                                v10_9.append("Can\'t obtain external volume ID for ");
                                v10_9.append(p19);
                                v10_9.append(" volume.");
                                throw new IllegalArgumentException(v10_9.toString());
                            }
                        }
                        v10_5 = v1_0;
                    }
                } else {
                    int v0_3 = new com.android.providers.media.MediaProvider$DatabaseHelper;
                    v0_3(v6_0, "internal.db", 1, 0, this.mObjectRemovedCallback);
                    v10_5 = v0_3;
                }
                try {
                    this.mDatabases.put(p19, v10_5);
                } catch (int v0_30) {
                    throw v0_30;
                }
                if (!v10_5.mInternal) {
                    java.io.File v11_6 = new java.io.File(this.mExternalStoragePaths[0], "Android/data/com.android.providers.media/albumthumbs").listFiles();
                    String v12_4 = new java.util.HashSet();
                    int v0_12 = 0;
                    while ((v11_6 != null) && (v0_12 < v11_6.length)) {
                        v12_4.add(v11_6[v0_12].getPath());
                        v0_12++;
                    }
                    int v0_16 = this.query(android.provider.MediaStore$Audio$Albums.EXTERNAL_CONTENT_URI, new String[] {"album_art"}), 0, 0, 0);
                    while(true) {
                        int v1_6 = v0_16;
                        if ((v1_6 == 0) || (!v1_6.moveToNext())) {
                            break;
                        }
                        v12_4.remove(v1_6.getString(0));
                        v0_16 = v1_6;
                    }
                    libcore.io.IoUtils.closeQuietly(v1_6);
                    int v0_19 = v12_4.iterator();
                    while (v0_19.hasNext()) {
                        new java.io.File(((String) v0_19.next())).delete();
                    }
                }
                if ("external".equals(p19)) {
                    this.ensureDefaultFolders(v10_5, v10_5.getWritableDatabase());
                }
                int v0_25 = new StringBuilder();
                v0_25.append("content://media/");
                v0_25.append(p19);
                return android.net.Uri.parse(v0_25.toString());
            } else {
                if ("external".equals(p19)) {
                    this.ensureDefaultFolders(v1_1, v1_1.getWritableDatabase());
                }
                int v0_35 = new StringBuilder();
                v0_35.append("content://media/");
                v0_35.append(p19);
                return android.net.Uri.parse(v0_35.toString());
            }
        }
    }

Method com.android.providers.media.MediaProvider.<clinit>() calling method android.net.Uri.parse()


    static MediaProvider()
    {
        com.android.providers.media.MediaProvider.MEDIA_URI = android.net.Uri.parse("content://media");
        com.android.providers.media.MediaProvider.ALBUMART_URI = android.net.Uri.parse("content://media/external/audio/albumart");
        com.android.providers.media.MediaProvider.sArtistAlbumsMap = new java.util.HashMap();
        com.android.providers.media.MediaProvider.sFolderArtMap = new java.util.HashMap();
        com.android.providers.media.MediaProvider.sMediaTableColumns = new String[] {"_id", "media_type"});
        com.android.providers.media.MediaProvider.sIdOnlyColumn = new String[] {"_id"});
        com.android.providers.media.MediaProvider.sDataOnlyColumn = new String[] {"_data"});
        com.android.providers.media.MediaProvider.sMediaTypeDataId = new String[] {"media_type", "_data", "_id"});
        com.android.providers.media.MediaProvider.sPlaylistIdPlayOrder = new String[] {"playlist_id", "play_order"});
        com.android.providers.media.MediaProvider.sDataId = new String[] {"_data", "_id"});
        com.android.providers.media.MediaProvider.sAlbumArtBaseUri = android.net.Uri.parse("content://media/external/audio/albumart");
        android.content.UriMatcher v0_72 = new String[9];
        v0_72[0] = android.os.Environment.DIRECTORY_MUSIC;
        v0_72[1] = android.os.Environment.DIRECTORY_PODCASTS;
        v0_72[2] = android.os.Environment.DIRECTORY_RINGTONES;
        v0_72[3] = android.os.Environment.DIRECTORY_ALARMS;
        v0_72[4] = android.os.Environment.DIRECTORY_NOTIFICATIONS;
        v0_72[5] = android.os.Environment.DIRECTORY_PICTURES;
        v0_72[6] = android.os.Environment.DIRECTORY_MOVIES;
        v0_72[7] = android.os.Environment.DIRECTORY_DOWNLOADS;
        v0_72[8] = android.os.Environment.DIRECTORY_DCIM;
        com.android.providers.media.MediaProvider.sDefaultFolderNames = v0_72;
        com.android.providers.media.MediaProvider.GENRE_LOOKUP_PROJECTION = new String[] {"_id", "name"});
        com.android.providers.media.MediaProvider.openFileColumns = new String[] {"_data"});
        com.android.providers.media.MediaProvider.TAG = "MediaProvider";
        com.android.providers.media.MediaProvider.URI_MATCHER = new android.content.UriMatcher(-1);
        com.android.providers.media.MediaProvider.ID_PROJECTION = new String[] {"_id"});
        com.android.providers.media.MediaProvider.PATH_PROJECTION = new String[] {"_id", "_data"});
        com.android.providers.media.MediaProvider.MIME_TYPE_PROJECTION = new String[] {"_id", "mime_type"});
        com.android.providers.media.MediaProvider.READY_FLAG_PROJECTION = new String[] {"_id", "_data", "mini_thumb_magic"});
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/images/media", 1);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/images/media/#", 2);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/images/thumbnails", 3);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/images/thumbnails/#", 4);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/media", 100);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/media/#", 101);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/media/#/genres", 102);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/media/#/genres/#", 103);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/media/#/playlists", 104);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/media/#/playlists/#", 105);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/genres", 106);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/genres/#", 107);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/genres/#/members", 108);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/genres/all/members", 109);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/playlists", 110);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/playlists/#", 111);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/playlists/#/members", 112);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/playlists/#/members/#", 113);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/artists", 114);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/artists/#", 115);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/artists/#/albums", 118);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/albums", 116);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/albums/#", 117);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/albumart", 119);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/albumart/#", 120);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/media/#/albumart", 121);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/video/media", 200);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/video/media/#", 201);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/video/thumbnails", 202);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/video/thumbnails/#", 203);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/media_scanner", 500);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/fs_id", 600);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/version", 601);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/mtp_connected", 705);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*", 301);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", 0, 300);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/file", 700);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/file/#", 701);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/object", 702);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/object/#", 703);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/object/#/references", 704);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/dir", 706);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/search_suggest_query", 400);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/search_suggest_query/*", 400);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/search/search_suggest_query", 401);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/search/search_suggest_query/*", 401);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/search/fancy", 402);
        com.android.providers.media.MediaProvider.URI_MATCHER.addURI("media", "*/audio/search/fancy/*", 402);
        return;
    }

Method com.android.providers.media.MediaProvider$1.onReceive() calling method android.net.Uri.parse()


    public void onReceive(android.content.Context p12, android.content.Intent p13)
    {
        if ("android.intent.action.MEDIA_EJECT".equals(p13.getAction())) {
            android.os.storage.StorageVolume v0_4 = ((android.os.storage.StorageVolume) p13.getParcelableExtra("android.os.storage.extra.STORAGE_VOLUME"));
            if (!v0_4.getPath().equals(com.android.providers.media.MediaProvider.access$000(this.this$0)[0])) {
                com.android.providers.media.MediaProvider.access$300(this.this$0);
                Throwable v2_8 = ((com.android.providers.media.MediaProvider$DatabaseHelper) com.android.providers.media.MediaProvider.access$300(this.this$0).get("external"));
                android.net.Uri v1_7 = new StringBuilder();
                v1_7.append("file://");
                v1_7.append(v0_4.getPath());
                android.net.Uri v1_9 = android.net.Uri.parse(v1_7.toString());
                if (v2_8 != null) {
                    try {
                        p12.sendBroadcast(new android.content.Intent("android.intent.action.MEDIA_SCANNER_STARTED", v1_9));
                        String v4_10 = com.android.providers.media.MediaProvider.access$400();
                        String v5_12 = new StringBuilder();
                        v5_12.append("deleting all entries for storage ");
                        v5_12.append(v0_4);
                        android.util.Log.d(v4_10, v5_12.toString());
                        String v4_13 = android.provider.MediaStore$Files.getMtpObjectsUri("external").buildUpon();
                        v4_13.appendQueryParameter("deletedata", "false");
                        String v5_15 = this.this$0;
                        int v6_3 = v4_13.build();
                        String[] v8_1 = new String[3];
                        String v9_2 = new StringBuilder();
                        v9_2.append(v0_4.getPath());
                        v9_2.append("/%");
                        v8_1[0] = v9_2.toString();
                        v8_1[1] = Integer.toString((v0_4.getPath().length() + 1));
                        String v9_6 = new StringBuilder();
                        v9_6.append(v0_4.getPath());
                        v9_6.append("/");
                        v8_1[2] = v9_6.toString();
                        v5_15.delete(v6_3, "_data LIKE ?1 AND lower(substr(_data,1,?2))=lower(?3)", v8_1);
                        p12.getContentResolver().notifyChange(android.provider.MediaStore$Audio$Media.getContentUri("external"), 0);
                        p12.getContentResolver().notifyChange(android.provider.MediaStore$Images$Media.getContentUri("external"), 0);
                        p12.getContentResolver().notifyChange(android.provider.MediaStore$Video$Media.getContentUri("external"), 0);
                        p12.getContentResolver().notifyChange(android.provider.MediaStore$Files.getContentUri("external"), 0);
                        android.content.Intent v3_5 = new android.content.Intent("android.intent.action.MEDIA_SCANNER_FINISHED", v1_9);
                    } catch (android.content.Intent v3_8) {
                        p12.sendBroadcast(new android.content.Intent("android.intent.action.MEDIA_SCANNER_FINISHED", v1_9));
                        throw v3_8;
                    } catch (android.content.Intent v3_6) {
                        android.util.Log.e(com.android.providers.media.MediaProvider.access$400(), "exception deleting storage entries", v3_6);
                        v3_5 = new android.content.Intent("android.intent.action.MEDIA_SCANNER_FINISHED", v1_9);
                    }
                    p12.sendBroadcast(v3_5);
                }
            } else {
                com.android.providers.media.MediaProvider.access$100(this.this$0, android.net.Uri.parse("content://media/external"));
                com.android.providers.media.MediaProvider.access$200().clear();
                android.media.MiniThumbFile.reset();
            }
        }
        return;
    }