summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsService.java
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-07-29 11:24:07 +0800
committerPo Lu <luangruo@yahoo.com>2023-07-29 11:24:07 +0800
commit47f97b5ae49af49ef3adcad4d4d9cab3668002ff (patch)
tree157ee1d853cbef310060a6640d1ddcfafdbb6e3f /java/org/gnu/emacs/EmacsService.java
parent25ef0c3a89a92e8f5ea12afe43224c84632e89c6 (diff)
Update Android port
* java/org/gnu/emacs/EmacsSafThread.java (EmacsSafThread, getCache) (pruneCache1, pruneCache, cacheChild, cacheDirectoryFromCursor) (documentIdFromName1, openDocumentDirectory1): Implement the cache referred to by the commentary. * java/org/gnu/emacs/EmacsService.java (deleteDocument): Invalidate the cache upon document removal. * src/androidvfs.c (android_saf_exception_check) (android_document_id_from_name): Correctly preserve or set errno in error cases.
Diffstat (limited to 'java/org/gnu/emacs/EmacsService.java')
-rw-r--r--java/org/gnu/emacs/EmacsService.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/java/org/gnu/emacs/EmacsService.java b/java/org/gnu/emacs/EmacsService.java
index e410754071b..e2abd6c96ef 100644
--- a/java/org/gnu/emacs/EmacsService.java
+++ b/java/org/gnu/emacs/EmacsService.java
@@ -1680,14 +1680,18 @@ public final class EmacsService extends Service
deleteDocument (String uri, String id)
throws FileNotFoundException
{
- Uri uriObject;
+ Uri uriObject, tree;
- uriObject = Uri.parse (uri);
- uriObject = DocumentsContract.buildDocumentUriUsingTree (uriObject,
- id);
+ tree = Uri.parse (uri);
+ uriObject = DocumentsContract.buildDocumentUriUsingTree (tree, id);
if (DocumentsContract.deleteDocument (resolver, uriObject))
- return 0;
+ {
+ if (storageThread != null)
+ storageThread.postInvalidateCache (tree, id);
+
+ return 0;
+ }
return -1;
}