af03e5a322a35f9acd6f6f8d4f53148a9622bd92 |
|
15-May-2017 |
Garfield Tan <xutan@google.com> |
Specify behavior around DocumentsProvider#openDocument(). Add supported modes and contracts on receiving unsupported modes. Test: Builds. Bug: 11279339 Change-Id: I8c403f6168baadb354813d4c1e630bb8662ddb34
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
0e74c95c0cb2be2dc82598fc6529883c90678f99 |
|
24-Mar-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Unhide FLAG_SUPPORT_EJECT and related methods."
|
8787703ae057b6df3691036d667fab0859be92d9 |
|
22-Mar-2017 |
Garfield Tan <xutan@google.com> |
Unhide FLAG_SUPPORT_EJECT and related methods. Test: Builds and CTS tests pass. Some manual tests as well. Bug: 36483910 Change-Id: Idd9b1c9d9573222ee12127044ff11b9ab2487f0a
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
df6d37e50442cb453a7e0d9e383c45bba848db70 |
|
21-Mar-2017 |
Ben Lin <linben@google.com> |
Introduce AuthenticationRequiredException, and @hide RecoverableSecurityException. Test: CTS tests in changes in same topic. Bug: 36482356 Bug: 36482258 Change-Id: I44b3407746006d8709e4a3f3ca2950c61fa0be95
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
8ea8200fedb3b0b9d508289782cb2ba5d7fe0d5f |
|
09-Mar-2017 |
Ben Lin <linben@google.com> |
Stop DocumentsContract from consuming Exceptions if app is targetting O or above. Test: Builds properly. Bug: 36023174 Change-Id: I455d358672f35fbeb5678c965b25268229ed4882
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
b690b4de06385a821aed3442e10058986c03badc |
|
02-Mar-2017 |
Garfield Tan <xutan@google.com> |
Address comments from API council. Test: Code builds and tests pass. Also some manual tests around ESP. Bug: 35813037 Bug: 35812990 Change-Id: Ia9d3a3964e9a83d0c1c08e5db4c2e231504aa99a
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
0bb25299ca01561eb3a8e69b042f8f16dc440882 |
|
24-Jan-2017 |
Steve McKay <smckay@google.com> |
Don't mark query+cancellationSignal final. Bug: 34517733 Test: None. Change-Id: Iff281c676b928859c0e2e975d9f0cfabb36479d9
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
cf31656cf402844b283610e131e54124078c7799 |
|
24-Oct-2016 |
Tomasz Mikolajewski <mtomasz@google.com> |
Add Web Links API to framework. Test: CTS in a separate CL. Bug: 30152711 Change-Id: Ia256422d50110d6adcd1984f6481ab825dbf30b1
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
29c3f68cfab3dd4f7f96e54be8eabd9a4d677c5e |
|
16-Dec-2016 |
Steve McKay <smckay@google.com> |
Add structured sort data to ContentResolver.query. Update DocumentsProvider to override ContentProvider#query(Uri, String[], Bundle, CancellationSignal); Added an otherwise unneeded import to pass doc check on DocumentsProvider. Bug: 30927484 Change-Id: I295c21f53901d567455286f22439f21d22a8a25a Test: Build and run. Test from DocsUi.
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
099f95181d5fdf905d4a77c9a364c458030064b1 |
|
09-Dec-2016 |
Tomasz Mikolajewski <mtomasz@google.com> |
Update API documentation about virtual files. To say that virtual files must have at least one streamable type. Test: None Bug: 33463773 Change-Id: I9094686cb95ee0af1c01b2bf88550cd3bbfe572d
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
0b3cf666d01e20b4801df71a67fbfac6f4b6f713 |
|
31-Oct-2016 |
Garfield Tan <xutan@google.com> |
Unhide findPath() API. Add JavaDoc to related features. Also remove comments that disallow folders in search results. Test: It builds. Bug: 30948740 Bug: 32512923 Change-Id: I72706b69163aa98ee9568939e09e5048b6e8f9f8
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
3f6b68a69724983095f93ea073a0a102aecc41fb |
|
01-Nov-2016 |
Garfield Tan <xutan@google.com> |
Iteration on findDocumentPath() API. Rename findPath() to findDocumentPath() per comment in ag/1588156. Bug: 30948740 Change-Id: I84ef4d9c0ed1f854e0e33f3552a1805b944c2791
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
5f2148077ab80e5e9e1698a6033fb83b6cfe90ee |
|
26-Oct-2016 |
Garfield Tan <xutan@google.com> |
Iteration on findPath API. Address Jeff's comment in ag/1542773. * Add @Nullable to rootId in Path constructor. * Erase rootId if findPath() doesn't return null rootId. * Use Log.wtf() instead of throwing. Bug: 30948740 Change-Id: I38354c5ac49aaa7e31a3ae56cd3379ffb19918c9 (Cherry picked from commit 04fdf6e18c97c2bf6ed58f8de9ba6723fa8c1613)
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
06940e1246467e96392ae2b7effcb1f9d3e4d273 |
|
08-Oct-2016 |
Garfield Tan <xutan@google.com> |
Iteration on findPath API. * Extend this API to take tree URI * Add toString(), equals() and hashCode() to Path * Address Jeff's comments in ag/1513538 * Add unit tests for findPath Bug: 30948740 Change-Id: Iaf852d0e40fae37623e9bb9ffa1c6fbe334c1b21 (cherry picked from commit d4ab7ade7171a4382ef4f61f2a5f078a17800e83)
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
aba97f3c37a1e2ac90a6b0ca5e5c2b773ceed36d |
|
06-Oct-2016 |
Garfield Tan <xutan@google.com> |
Add findPath API to SAF. Implement it in ExternalStorageProvider. Bug: 30948740 Change-Id: I1b7717a794ae3892cd1be5ed90ca155adf9a64f4 (cherry picked from commit 51efc73f3f341393cf93f71604be791205021b69)
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
ab52ea019453fe31d91a5f9afc227c4caa77e884 |
|
06-Oct-2016 |
Garfield Tan <xutan@google.com> |
Revert "DO NOT MERGE ANYWHERE: Add findPath API to SAF." This reverts commit 2f6d0d6db3af4451ae209a07c7dd7ee089cc5653. Change-Id: I0b8581c6d5edb2a47ddfb75afaaa52c43964087b
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
2f6d0d6db3af4451ae209a07c7dd7ee089cc5653 |
|
23-Sep-2016 |
Garfield Tan <xutan@google.com> |
DO NOT MERGE ANYWHERE: Add findPath API to SAF. Implement it in ExternalStorageProvider. Bug: 30948740 Change-Id: I03241cdfa561ef2fc0a0b829c9a59ad845e8f844 (cherry picked from commit 51efc73f3f341393cf93f71604be791205021b69)
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
d7d1487ec8d27336ba49a300e2eed39c3835c47e |
|
29-Jun-2016 |
Ben Lin <linben@google.com> |
Docsui-level work for implementing Eject on Roots list. 1. Added Eject Icon for Roots that support eject 2. Added Context Menu for RootsFragment (Settings and Eject) Bug: 29584653 Change-Id: I97f582de05763e3f0327bc0d2dc6d4e2222e047c (cherry picked from commit d96661f8b0f613b40f2bdfc178bbe06022b5f76c)
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
e7822fb76791e3951502e759e2b11204869d532a |
|
25-Jun-2016 |
Ben Lin <linben@google.com> |
Provider-level changes for implementing direct eject of a root in Files app. Several changes at different levels: 1. Introduction of ejectRoot(String) for DocumentsProvider 2. Introduction of ejectRoot(ContentResolver, Uri, String) for DocumentsContract 4. Additional permission for MOUNT_UNMOUNT for ExternalStorageProvider 5. Implementation of ejectRoot(String) for External StorageProvider Bug: 29584653 Change-Id: I28557af63259548784cf24d5b051eb06ad5193ca (cherry picked from commit 2ccc18357d6741dde56edc4d5a2608f15f4b9078)
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
804d648138212a00bb260291e39fde0b327df709 |
|
17-Feb-2016 |
Tomasz Mikolajewski <mtomasz@google.com> |
Merge "Implement getDocumentStreamTypes() in DocumentsProvider." into nyc-dev
|
30714016700fd874ed96b0a8f8e4f52d9385c091 |
|
15-Feb-2016 |
Tomasz Mikolajewski <mtomasz@google.com> |
Remove unused return in DocumentsProvider.removeDocument. It's not used anywhere. Exceptions should be thrown on an error. Bug: 27113305 Change-Id: I9d549169e177004597f136776c6763c93101c0c4
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
d99964fd66dc4dabe431ff995995de508f614216 |
|
15-Feb-2016 |
Tomasz Mikolajewski <mtomasz@google.com> |
Implement getDocumentStreamTypes() in DocumentsProvider. According to the documentation, getStreamTypes() must return all streamable MIME types. This CL takes the MIME types from COLUMN_MIME_TYPE as long as the document is not virtual. If the provider implements converters, then it should override getDocumentStreamTypes. Bug: 27156282 Change-Id: I9ab149e097600a470fc9be8f1270f68929fdf851
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
7fa765a40e98ac77d79867b2109779728d9df5a7 |
|
01-Feb-2016 |
Tomasz Mikolajewski <mtomasz@google.com> |
Merge "Cleanup copyDocument and moveDocument in SAF."
|
cbcd39488b4bddfaa84dfe378ede2f707aedd6ca |
|
27-Jan-2016 |
Tomasz Mikolajewski <mtomasz@google.com> |
Add DocumentsProvider::removeDocument(). Multi-parents are supported already in moveDocument(). For parity, this CL adds removeDocument, so it's possible to delete a file from a specific parent. Bug: 26481380 Change-Id: Icd4213abc0c3413931902f4f8984746c84c65e52
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
eeb8b6052a050c687f8b73ca88373cdb6af10715 |
|
28-Jan-2016 |
Tomasz Mikolajewski <mtomasz@google.com> |
Cleanup copyDocument and moveDocument in SAF. 1. Unhide the methods in DocumentsProvider. 2. Stop revoking grants, as we shouldn't do that if the documentId doesn't change. Note, we could have an if checking if the ID changed then revoke in call(), but it would be racey, as another file with the same ID might have been created in the meantime on another thread. Change-Id: Ia99853bf11cf416e0b8c0a0e63458dcc09564da9
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
d46ecbcc5322cf817e64591e985f1f2a6167e9a7 |
|
25-Jan-2016 |
Tomasz Mikolajewski <mtomasz@google.com> |
Add support for multi-parents to DocumentsProvider::moveDocument. Bug: 26481380 Change-Id: I96290268fd49072a334bde9c04c5313de8540f56
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
75395651c272b3df746e0e5fede0a8fedd81e44b |
|
07-Jan-2016 |
Tomasz Mikolajewski <mtomasz@google.com> |
Revert "Revert "Remove the flag and make openTypedDocument throw FileNotFoundException."" This reverts commit 2b931719783cda11c3bbac9928c603d0a0a06d43. Change-Id: Ic61b874012daeada02b73643f5c58f9ec840b3e5
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
2b931719783cda11c3bbac9928c603d0a0a06d43 |
|
07-Jan-2016 |
Tomasz Mikolajewski <mtomasz@google.com> |
Revert "Remove the flag and make openTypedDocument throw FileNotFoundException." This reverts commit 95149ab6a5442a05f05f448854b6ab386c87f717. Change-Id: I218aa8059ef674400dac8531a86cd326748c26d5
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
95149ab6a5442a05f05f448854b6ab386c87f717 |
|
24-Dec-2015 |
Tomasz Mikolajewski <mtomasz@google.com> |
Remove the flag and make openTypedDocument throw FileNotFoundException. To be compatible with ContentProvider, DocumentsProvider should not require checking for a flag before calling openTypedAssetFile. This CL removes the flag, and makes the default implementation throw FileNotFoundException instead. Bug: 26222645 Change-Id: I3492f05804e39583ebb8584109c7017b3082846e
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
d3afdeebeb9dcfbb5f24e4afac988e2e96de26de |
|
20-Nov-2015 |
Steve McKay <smckay@google.com> |
Don't copy a directory into itself...doesn't go well. Minimally deform CopyService such that we can listen to the completion of operations in the test. Add test coverage. Add equals and hashcode to DocumentInfo...so we can compare the heck out of 'em. + a test. WIP: Expose (@hide style) DocumentsProvider.isChildDocument via DocumentsContract. Use that to check for recusive copies. Bug: 25794511 Change-Id: I05bb329eb10b43540c6806d634e5b96a753e8178
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
b344b894ca0844486bf009acd6e3a9f35fe9f29f |
|
28-Oct-2015 |
Tomasz Mikolajewski <mtomasz@google.com> |
Add support for opening files in specified MIME type to DocumentsProvider. Change-Id: I5453d6d699069ec59521917c024f173d2ae67565 Bug: 18113606
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
a0d9a63f1d16eba887d78a2286d8ac6f3c397909 |
|
25-Jul-2015 |
Jeff Sharkey <jsharkey@android.com> |
Follow refactoring when enforcing permissions. Change-Id: I3fd245622a7f1183cbe21e61f7604c8195022e69
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
f3230a7e69869aa680ed30169892dd5c35ec931f |
|
25-Jul-2015 |
Jeff Sharkey <jsharkey@google.com> |
am 43b379e7: am 43ff3afe: am 4c864be1: am 35f4b6a2: am 8be305dd: Merge "Also check app-ops on path-permissions." into mnc-dev * commit '43b379e72be58fca50af64092f5c99463d76d65b': Also check app-ops on path-permissions.
|
0e621c3921fc023dd13fe72739987f2a9b366c84 |
|
25-Jul-2015 |
Jeff Sharkey <jsharkey@android.com> |
Also check app-ops on path-permissions. Any place that we check permissions we also need to check any app-ops associated with those permissions. In the case of providers with both <provider> and <path-permission> permissions, track and report the strongest app-ops denial. Bug: 22718722 Change-Id: I45e62de39b04d16d071558ad980b701667cfcb9a
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
a375a9988419791649ed7f42b662f1afe5953982 |
|
25-Jun-2015 |
Tomasz Mikolajewski <mtomasz@google.com> |
Add support for efficient move within a document provider. Currently moving files even within the same document provider causes reading and writing all of the bytes, which is very inefficient for all network based solutions, eg. Drive where moving even huge files can be instant. This CL adds an optional moveDocument method to the DocumentProvider as well as DocumentContract so providers can implement an efficient way of moving things. If not implemented, we would fallback to moving by streaming. BUG=None Change-Id: I74d6754f96cbafa749a04ca9aebf2e0e2b64b515
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
74fe1816e84fc097adc5af1b6e866b4a219dca91 |
|
13-Jun-2015 |
Tomasz Mikolajewski <mtomasz@google.com> |
Add support for efficient copy within a document provider. Currently copying files even within the same document provider causes reading and writing all of the bytes, which is very inefficient for all network based solutions, eg. Drive where copying even huge files can be instant. This CL adds an optional copyDocument method to the DocumentProvider as well as DocumentContract so providers can implement an efficient way of copying things. If not implemented, we would fallback to copying by streaming. BUG=None Change-Id: I8f2b2c0c834717f07d42f8247cd1fc025e82239a
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
c615c6fc9caca76cd96998f86e1f1e6393aeadbb |
|
02-Mar-2015 |
Tor Norbye <tnorbye@google.com> |
Annotate methods to be called from overrides with @CallSuper Change-Id: Ibc587c2aaee9f3e7f448079f72a75459fe4e15e7
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
377d6f00dc2ab42df501fd12b23e1dab54cea6b7 |
|
21-Nov-2014 |
Dianne Hackborn <hackbod@google.com> |
am 42fec57f: am d9968438: Merge "Fix issue with call backs from media process." into lmp-mr1-dev * commit '42fec57f3addfb1958f814b5d6772ff81341ba20': Fix issue with call backs from media process.
|
ff17024e583b170312d82089fd358d278ce16c9a |
|
19-Nov-2014 |
Dianne Hackborn <hackbod@google.com> |
Fix issue with call backs from media process. All but a few lines of this is for issue #16013164, which allowed apps to do some operations as the media uid by having it call back to them to open a file. The problem here is with the tempory identity stuff in the activity manager, allowing us to make the open call as the original caller... ideally we should figure out a way to just get rid of all of that, but the solution here is actually easier (even though it doesn't look it) -- we now hand a token over to the openFile() call that it can use when doing permission checks to say "yes I would like the check to be against whoever is responsible for the open". This allows us to do the uid remapping for only this one specific set of permission checks, and nothing else. Also fix issue #17487348: Isolated services can access system services they shouldn't be able to. Don't send any system service IBinder objects down for the first initialization of an isolated process. Change-Id: I3c70e16e0899d7eef0bae458e83958b41ed2b75e
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
4656e69bf36d42a35c9290ab79eeb33b4cca1d5c |
|
08-Sep-2014 |
Elliott Hughes <enh@google.com> |
resolved conflicts for merge of 2008cff7 to lmp-dev-plus-aosp Change-Id: I5148eda624e8504f12dbc1288cd4a7a5b7c10850
|
d0646dca40ff740bd49755ad60751678b0ccca52 |
|
28-Aug-2014 |
Mark Doliner <mark@kingant.net> |
Small documentation fixes across many files. Change-Id: I3e8787ce4bc6018ea1dc9aef2a2cd4e0a8dde663
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
5b836f29a3f56f9d13b6004417330c41ec0c18ae |
|
27-Aug-2014 |
Jeff Sharkey <jsharkey@android.com> |
Define EXTRA_SIZE for ContentProviders. Also make Size and SizeF parcelable. Bug: 17205016 Change-Id: Ide397b84864f6cad7f8d89e66b6c8697a3ad335b
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
b9fbb7290b02de1ce621deaa2d28a5e42f2e0937 |
|
05-Jun-2014 |
Jeff Sharkey <jsharkey@android.com> |
Refactor directory API to "opening document tree." Cleans up API so it consistently refers to opening or working with a subtree of documents. Also separates isChildDocument() support from the concept of directory tree selection. Bug: 15429194 Change-Id: Ice66a751ff4bd0cc4d34c44c5da13a0dc4186dc9
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
b7e1255d5c8d9e4fa8dd389afb9f5aab35434df3 |
|
22-May-2014 |
Jeff Sharkey <jsharkey@android.com> |
Support for renaming documents. DocumentsProviders can mark documents as supporting rename, and they have the opportunity to change the DOCUMENT_ID as a side effect of the rename. This supports providers that embed the display name into DOCUMENT_ID. Issues a URI permission grant to the new document, if any. Adds renaming support to platform ExternalStorageProvider. Also adds directory deletion support. Bug: 12350110 Change-Id: Ica4b1ae6769ee994f70f6b6b2402213eebd064e0
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
21de56a94668e0fda1b8bb4ee4f99a09b40d28fd |
|
06-Apr-2014 |
Jeff Sharkey <jsharkey@android.com> |
Add directory selection to DocumentsProvider. Introduce new ACTION_PICK_DIRECTORY that allows users to grant access to an entire document subtree. Instead of requiring grants for each individual document, this leverages new prefix URI permission grants by defining new "via"-style URIs: content://com.example/via/12/document/24/ This references document 24 by using a prefix grant given for document 12. Internally, we use isChildDocument() to enforce that 24 is actually a descendant (child, grandchild, etc) of 12. Since this is an optional API, providers indicate support with Root.FLAG_SUPPORTS_DIR_SELECTION. Extend DocumentsUI to support picking directories. Expose createDocument() API to work with returned directories. Offer to canonicalize via-style URIs into direct URIs, generating exact permission grants along the way. Override openAssetFile() to pass through CancellationSignal. Move testing code into ApiDemos. Bug: 10607375 Change-Id: Ifffc1cff878870f8152eb6ca0199c5d014b9cb07
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
3b945405cf96eae8b882f87934222a453718a559 |
|
13-Nov-2013 |
Jeff Sharkey <jsharkey@android.com> |
Small DocumentsProvider doc improvements. Bug: 11670294 Change-Id: I5fb91c7665fc2a4531059ef9f2de0972ebabe1ea
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
37ed78e504ef3666dd5fce15ff4994f151c44fcd |
|
05-Nov-2013 |
Jeff Sharkey <jsharkey@android.com> |
Clarify DocumentsProvider recents behavior. Bug: 11448309 Change-Id: I17e0ac757e549b251e08d58d5ce7d25fb253883f
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
8a2998eade93032a78d681c66ebadbfa6f802f76 |
|
31-Oct-2013 |
Jeff Sharkey <jsharkey@android.com> |
Better enforcement in DocumentsProvider.call(). Use ContentProvider.enforceWritePermissionInner() to handle all edge cases around checking if caller has write permissions. This fixes bug where call() would throw if caller and provider were the same app. Bug: 11464234 Change-Id: Iace8e0e4243d56ed1cdcc9680383103975107036
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
9352c383e95c3e1facd8a7a2d49ff488fb7bbcaf |
|
23-Oct-2013 |
Jeff Sharkey <jsharkey@android.com> |
Add notification docs to DocumentsProvider. Bug: 11272209 Change-Id: I97d67c91c4f4a312cbde82afd9e27509c26517b2
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
e8c00d8ed477e199b7f8d1b1e2f37e9cf8593372 |
|
16-Oct-2013 |
Jeff Sharkey <jsharkey@android.com> |
Improve DocumentsProvider and contract docs. Bug: 10567557 Change-Id: I71e7f7ad172e9986e58b9c9533b1c948c5530397
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
e66c1778f80f4b18e29e018eca3a338f125f23b9 |
|
20-Sep-2013 |
Jeff Sharkey <jsharkey@android.com> |
Require that persistable Uri permissions be taken. Change our Intent flag to indicate that a Uri permission grant is persistable, but don't actually persist it until explicitly taken by the receiving app. This prevents apps from spamming each other if persisted permissions aren't really required. Remember the last time a persisted grant was taken by an app, and use this to prune away the oldest grants when the number of grants grows too large. Allow apps to query persisted grants they are holding, and allow them to release previously persisted grants. Add public UriPermission class to return grant details and timestamp. Track various permission strengths separately, and combine together after each mutation pass. Persistable grants are currently treated like global grants, but they could be moved to have owners in the future. Require that grant holders trying to extend a persistable permission actually hold a persistable permission themselves. Bug: 10835779 Change-Id: I95b2f797c04ce7fd2612f9a644685dbd44e03759
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
3e1189b3590aefb65a2af720ae2ba959bbd4188d |
|
13-Sep-2013 |
Jeff Sharkey <jsharkey@android.com> |
Move search to roots; Documents root; hide empty. Documents searches now happen root-wide, instead of only under a subdirectory. Updates abstract class and flags to match. Add flag for a root to indicate it's empty, and hide empty roots in UI unless creating. Define "Documents" public directory and storage backend to contain files. Bug: 10712057, 10710865, 10710758 Change-Id: I8716367568969f9cb1d83927b2bf5a7013809350
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
4ec973925fc2cd18f9ec0d0ca5af588564fded27 |
|
10-Sep-2013 |
Jeff Sharkey <jsharkey@android.com> |
More UX work for thumbnails, search, management. Hide non-finished downloads from normal picker UI, but keep them around in management mode. Uses a Uri query parameter and a hidden API on DocumentsProvider. Scale thumbnails to fit viewport, always show MIME icon while waiting on thumbnails, and crossfade between them. Cancel thumbnail tasks when views are recycled. Filter directories out of search results for now. Also leave sort ordering from backend intact, since it's custom ranking. Fix SearchView interaction to dismiss properly and restore across orientation and drawer state changes. Hide most actions when drawer is open. Invalidate RootInfo cache when locale changes. Apply sort ordering when showing recent create directories. Hide recent summary string when icon is enough for user to disambiguate. Bug: 10667184, 10665663 Change-Id: I331d3272a08c497f88dc659d9e112231cb35aa69
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
911d7f411f36f2279aae44c89ff1d33a29140046 |
|
06-Sep-2013 |
Jeff Sharkey <jsharkey@android.com> |
Provide calling package to ContentProviders. The calling package is important for ContentProviders that want to grant Uri permissions as a side effect of operations, so offer it through a new API. Validates the provided package against the calling UID before returning. Bug: 10626527 Change-Id: I7277880eebbd48444c024bcf5f69199133cd59e4
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
a61dc8e03e6e863005b3a4629ca8f3801d33d3c4 |
|
06-Sep-2013 |
Jeff Sharkey <jsharkey@android.com> |
Separate root and document management. Two hidden intents for managing roots and documents, used to support Downloads UI. Touching an item tries launching as MANAGE_DOCUMENT first before falling back to VIEW. Provide MIME type for roots. Bug: 10446265, 10531347, 10599641 Change-Id: Ia5584bd6ce3e5a9b0048e8caf1447e3053664413
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
e37ea6123d1aa3cd3e8804988886b1f6046d79d6 |
|
04-Sep-2013 |
Jeff Sharkey <jsharkey@android.com> |
Fix document management permission enforcement. Allow both explicit holders of the MANAGE_DOCUMENTS permission and those holding Uri grants to perform management tasks. Extend grants for newly created documents when caller doesn't have permission. Revoke grants when deleting documents. Test now writes actual content into picked file. Workaround updated flags for Drive app. Bug: 10623211 Change-Id: Ia8e90b33e0fac8294b2cacb96d083c43fdf75aab
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
ae9b51bfa313c51a31af30875a71255d7b6d2e61 |
|
01-Sep-2013 |
Jeff Sharkey <jsharkey@android.com> |
Refactoring of DocumentsContract. Combines related columns and constants onto the same class so they are easier to discover. Move back to surfacing roots with columns so they are consistent with documents. Advanced roots are represented with a flag instead of distinct types. Flags to indicate supporting of well-known media types, instead of arbitrary an MIME filter. Reintroduce well-formed rootId to support recents. Always use the expanded version of "documents" in constants, methods, and argument names. Refactor DocumentProvider method names to clearly distinguish if a single item or multiple could be returned, and of which type. Add documentation to clearly define which methods have already been overridden. Bug: 10567506, 10567557 Change-Id: I981f26ab82f2b520a19aa1ce66f659de50d7fac0
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|
aeb16e2435f9975b9fa1fc4b747796647a21292e |
|
28-Aug-2013 |
Jeff Sharkey <jsharkey@android.com> |
Stronger DocumentsProvider contract. Using a contract class requires that a provider implement it exactly with little help. This change introduces a DocumentsProvider abstract class that provides a client-side implementation of the contract that greatly reduces developer burden, and improves correctness. This also moves to first-class DocumentRoot objects, and moves calls with complex side effects to be ContentProvider.call() invocations, offering more granular permission control over Uri operations that shouldn't be available through Uri grants. This new design also relaxes the requirement that root information be burned into every Uri. Migrate ExternalDocumentsProvider and DocumentsUI to adopt new API. Bug: 10497206 Change-Id: I6f2b3f519bfd62a9d693223ea5628a971ce2e743
/frameworks/base/core/java/android/provider/DocumentsProvider.java
|