diff options
Diffstat (limited to 'java')
| -rw-r--r-- | java/org/gnu/emacs/EmacsService.java | 25 |
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 | |||
| 1769 | ? DocumentsContract.getDocumentId (name) | 1769 | ? DocumentsContract.getDocumentId (name) |
| 1770 | : null); | 1770 | : null); |
| 1771 | } | 1771 | } |
| 1772 | |||
| 1773 | /* Return if there is a content provider by the name of AUTHORITY | ||
| 1774 | supplying at least one tree URI Emacs retains persistent rights | ||
| 1775 | to access. */ | ||
| 1776 | |||
| 1777 | public boolean | ||
| 1778 | validAuthority (String authority) | ||
| 1779 | { | ||
| 1780 | List<UriPermission> permissions; | ||
| 1781 | Uri uri; | ||
| 1782 | |||
| 1783 | permissions = resolver.getPersistedUriPermissions (); | ||
| 1784 | |||
| 1785 | for (UriPermission permission : permissions) | ||
| 1786 | { | ||
| 1787 | uri = permission.getUri (); | ||
| 1788 | |||
| 1789 | if (DocumentsContract.isTreeUri (uri) | ||
| 1790 | && permission.isReadPermission () | ||
| 1791 | && uri.getAuthority ().equals (authority)) | ||
| 1792 | return true; | ||
| 1793 | } | ||
| 1794 | |||
| 1795 | return false; | ||
| 1796 | } | ||
| 1772 | }; | 1797 | }; |