summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsService.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/org/gnu/emacs/EmacsService.java')
-rw-r--r--java/org/gnu/emacs/EmacsService.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/java/org/gnu/emacs/EmacsService.java b/java/org/gnu/emacs/EmacsService.java
index 3c1bb0855f4..8554dadd06e 100644
--- a/java/org/gnu/emacs/EmacsService.java
+++ b/java/org/gnu/emacs/EmacsService.java
@@ -1769,4 +1769,29 @@ public final class EmacsService extends Service
? DocumentsContract.getDocumentId (name)
: null);
}
+
+ /* Return if there is a content provider by the name of AUTHORITY
+ supplying at least one tree URI Emacs retains persistent rights
+ to access. */
+
+ public boolean
+ validAuthority (String authority)
+ {
+ List<UriPermission> permissions;
+ Uri uri;
+
+ permissions = resolver.getPersistedUriPermissions ();
+
+ for (UriPermission permission : permissions)
+ {
+ uri = permission.getUri ();
+
+ if (DocumentsContract.isTreeUri (uri)
+ && permission.isReadPermission ()
+ && uri.getAuthority ().equals (authority))
+ return true;
+ }
+
+ return false;
+ }
};