Loading core/java/com/android/internal/content/FileSystemProvider.java +11 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,14 @@ public abstract class FileSystemProvider extends DocumentsProvider { // Default is no-op } /** * Callback indicating that the given document has been deleted or moved. This gives * the provider a hook to revoke the uri permissions. */ protected void onDocIdDeleted(String docId) { // Default is no-op } @Override public boolean onCreate() { throw new UnsupportedOperationException( Loading Loading @@ -243,6 +251,7 @@ public abstract class FileSystemProvider extends DocumentsProvider { final String afterDocId = getDocIdForFile(after); onDocIdChanged(docId); onDocIdDeleted(docId); onDocIdChanged(afterDocId); final File beforeVisibleFile = getFileForDocId(docId, true); Loading Loading @@ -274,6 +283,7 @@ public abstract class FileSystemProvider extends DocumentsProvider { final String docId = getDocIdForFile(after); onDocIdChanged(sourceDocumentId); onDocIdDeleted(sourceDocumentId); onDocIdChanged(docId); moveInMediaStore(visibleFileBefore, getFileForDocId(docId, true)); Loading Loading @@ -325,6 +335,7 @@ public abstract class FileSystemProvider extends DocumentsProvider { } onDocIdChanged(docId); onDocIdDeleted(docId); removeFromMediaStore(visibleFile, isDirectory); } Loading packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java +6 −0 Original line number Diff line number Diff line Loading @@ -430,6 +430,12 @@ public class ExternalStorageProvider extends FileSystemProvider { } } @Override protected void onDocIdDeleted(String docId) { Uri uri = DocumentsContract.buildDocumentUri(AUTHORITY, docId); getContext().revokeUriPermission(uri, ~0); } @Override public Cursor queryRoots(String[] projection) throws FileNotFoundException { final MatrixCursor result = new MatrixCursor(resolveRootProjection(projection)); Loading Loading
core/java/com/android/internal/content/FileSystemProvider.java +11 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,14 @@ public abstract class FileSystemProvider extends DocumentsProvider { // Default is no-op } /** * Callback indicating that the given document has been deleted or moved. This gives * the provider a hook to revoke the uri permissions. */ protected void onDocIdDeleted(String docId) { // Default is no-op } @Override public boolean onCreate() { throw new UnsupportedOperationException( Loading Loading @@ -243,6 +251,7 @@ public abstract class FileSystemProvider extends DocumentsProvider { final String afterDocId = getDocIdForFile(after); onDocIdChanged(docId); onDocIdDeleted(docId); onDocIdChanged(afterDocId); final File beforeVisibleFile = getFileForDocId(docId, true); Loading Loading @@ -274,6 +283,7 @@ public abstract class FileSystemProvider extends DocumentsProvider { final String docId = getDocIdForFile(after); onDocIdChanged(sourceDocumentId); onDocIdDeleted(sourceDocumentId); onDocIdChanged(docId); moveInMediaStore(visibleFileBefore, getFileForDocId(docId, true)); Loading Loading @@ -325,6 +335,7 @@ public abstract class FileSystemProvider extends DocumentsProvider { } onDocIdChanged(docId); onDocIdDeleted(docId); removeFromMediaStore(visibleFile, isDirectory); } Loading
packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java +6 −0 Original line number Diff line number Diff line Loading @@ -430,6 +430,12 @@ public class ExternalStorageProvider extends FileSystemProvider { } } @Override protected void onDocIdDeleted(String docId) { Uri uri = DocumentsContract.buildDocumentUri(AUTHORITY, docId); getContext().revokeUriPermission(uri, ~0); } @Override public Cursor queryRoots(String[] projection) throws FileNotFoundException { final MatrixCursor result = new MatrixCursor(resolveRootProjection(projection)); Loading