Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a637f171 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by android-build-merger
Browse files

Merge \"Use visible paths when cleaning up MediaStore.\" into nyc-mr1-dev

am: 8ee0a67b

Change-Id: I387c13b1208ebdf05d03b4d172d538015dc3c6a5
parents 5c1dc014 8ee0a67b
Loading
Loading
Loading
Loading
+17 −14
Original line number Diff line number Diff line
@@ -492,24 +492,27 @@ public class ExternalStorageProvider extends DocumentsProvider {
            throw new IllegalStateException("Failed to delete " + file);
        }

        final File visibleFile = getFileForDocId(docId, true);
        if (visibleFile != null) {
            final ContentResolver resolver = getContext().getContentResolver();
            final Uri externalUri = MediaStore.Files.getContentUri("external");

            // Remove media store entries for any files inside this directory, using
            // path prefix match. Logic borrowed from MtpDatabase.
            if (isDirectory) {
            final String path = file.getAbsolutePath() + "/";
                final String path = visibleFile.getAbsolutePath() + "/";
                resolver.delete(externalUri,
                        "_data LIKE ?1 AND lower(substr(_data,1,?2))=lower(?3)",
                        new String[] { path + "%", Integer.toString(path.length()), path });
            }

            // Remove media store entry for this exact file.
        final String path = file.getAbsolutePath();
            final String path = visibleFile.getAbsolutePath();
            resolver.delete(externalUri,
                    "_data LIKE ?1 AND lower(_data)=lower(?2)",
                    new String[] { path, path });
        }
    }

    @Override
    public String moveDocument(String sourceDocumentId, String sourceParentDocumentId,