summaryrefslogtreecommitdiffstats
path: root/packages/ExternalStorageProvider
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Support for renaming documents."Jeff Sharkey2014-05-221-1/+25
|\
| * Support for renaming documents.Jeff Sharkey2014-05-211-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Import translations. DO NOT MERGEBaligh Uddin2014-05-201-1/+1
|/ | | | | Change-Id: Icef6a475d648a2970d5918e9ab7abe98cf676117 Auto-generated-cl: translation import
* am 21de56a9: Add directory selection to DocumentsProvider.Jeff Sharkey2014-04-231-3/+20
|\ | | | | | | | | * commit '21de56a94668e0fda1b8bb4ee4f99a09b40d28fd': Add directory selection to DocumentsProvider.
| * Add directory selection to DocumentsProvider.Jeff Sharkey2014-04-221-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Import translations. DO NOT MERGEBaligh Uddin2014-03-191-1/+1
|/ | | | | Change-Id: Ic7a9bdd8f8da2462638e3abf361ef938d1fb2a9e Auto-generated-cl: translation import
* Remove deprecated localesBaligh Uddin2013-12-091-21/+0
| | | | | Bug:11340849 Change-Id: Ib99486303927a6bce308b113d70f8e5b5bce4a13
* am 874dfd73: am 34163e82: am 55d12486: Merge "Give storage provider access ↵Jeff Sharkey2013-11-111-0/+1
|\ | | | | | | | | | | | | to secondary devices." into klp-dev * commit '874dfd733a2fd2224f155ee2c4cf5e3065676402': Give storage provider access to secondary devices.
| * am 34163e82: am 55d12486: Merge "Give storage provider access to secondary ↵Jeff Sharkey2013-11-111-0/+1
| |\ | | | | | | | | | | | | | | | | | | devices." into klp-dev * commit '34163e8259db8661afbb267e3b899b64f429bcb7': Give storage provider access to secondary devices.
| | * Give storage provider access to secondary devices.Jeff Sharkey2013-11-111-0/+1
| | | | | | | | | | | | | | | Bug: 11411460 Change-Id: I3827ed5b859a68c60742a27917459e8df2c276bb
* | | am 66d079bf: am f7eb3398: am 19949b9d: Merge "Guard against missing document ↵Jeff Sharkey2013-10-291-0/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | columns." into klp-dev * commit '66d079bf25ff3f99dbba91e02d392c936238170b': Guard against missing document columns.
| * | am f7eb3398: am 19949b9d: Merge "Guard against missing document columns." ↵Jeff Sharkey2013-10-291-0/+5
| |\ \ | | |/ | | | | | | | | | | | | | | | into klp-dev * commit 'f7eb3398f16f4d76d2a342cf571040360d5a6df6': Guard against missing document columns.
| | * Guard against missing document columns.Jeff Sharkey2013-10-291-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | When filtering and sorting, guard against missing columns to avoid crashing entire app. Bug: 11377065 Change-Id: I04f035c918d743bcc84592f05e3ef9ad0ebfadce
* | | am e643e337: am 99dcb2eb: am 10e509dc: Merge "Use inotify to update ↵Jeff Sharkey2013-10-281-1/+92
|\ \ \ | |/ / | | | | | | | | | | | | | | | DocumentsUI." into klp-dev * commit 'e643e33736e14a59f1f9a8acb4d630b2ea671a31': Use inotify to update DocumentsUI.
| * | am 99dcb2eb: am 10e509dc: Merge "Use inotify to update DocumentsUI." into ↵Jeff Sharkey2013-10-281-1/+92
| |\ \ | | |/ | | | | | | | | | | | | | | | klp-dev * commit '99dcb2eb3578c3d14658b3850cb3e32608e173b1': Use inotify to update DocumentsUI.
| | * Use inotify to update DocumentsUI.Jeff Sharkey2013-10-251-1/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While user is actively looking at a directory, subscribe to inotify events and notify of content changes to trigger requeries. Reference count the observers, since multiple cursors are regularly open during requeries. Fix leaking cursors on activity rotation; crazy loader ID generation is no longer needed. Bug: 10999396 Change-Id: Iddeb08a056fee80c93df8499874705bcd213a1e2
* | | am de9b66fe: am 3ac436b7: am 80f103ae: Merge "Extra to always show advanced ↵Jeff Sharkey2013-10-251-2/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | devices." into klp-dev * commit 'de9b66fee1bdbc914c287fb9a2aa832dc2d3e6f9': Extra to always show advanced devices.
| * | am 3ac436b7: am 80f103ae: Merge "Extra to always show advanced devices." ↵Jeff Sharkey2013-10-251-2/+2
| |\ \ | | |/ | | | | | | | | | | | | | | | into klp-dev * commit '3ac436b758830eb938c62d5ed91caa7808b5b63e': Extra to always show advanced devices.
| | * Extra to always show advanced devices.Jeff Sharkey2013-10-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Also always lower-case extension to extract MIME type correctly, we may want to fix in MimeUtils at some point. Bug: 11354402 Change-Id: I77d0c06a663cd0c4320c41553ff1980b6f9a7778
* | | am 46106ca2: am 686fa2db: am c832ef0d: Merge "Show spinner while waiting for ↵Jeff Sharkey2013-10-241-1/+10
|\ \ \ | |/ / | | | | | | | | | | | | | | | mutations." into klp-dev * commit '46106ca28e8a679ce2f0609d03ae6ba4b95d7f30': Show spinner while waiting for mutations.
| * | am 686fa2db: am c832ef0d: Merge "Show spinner while waiting for mutations." ↵Jeff Sharkey2013-10-241-1/+10
| |\ \ | | |/ | | | | | | | | | | | | | | | into klp-dev * commit '686fa2db5b8feeb9e378aeb8e5dbac2f79ef2153': Show spinner while waiting for mutations.
| | * Show spinner while waiting for mutations.Jeff Sharkey2013-10-231-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | When mutation operations are waiting for a storage backend, show a spinner in place of the save button. Bug: 11333249 Change-Id: I2b620b4532ad977a2b60d4bdc5caa55f89021456
* | | am 05f92b7c: am 6599c128: am 871cb5d5: Merge "Update roots when data ↵Jeff Sharkey2013-10-231-12/+38
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | cleared, refresh UI." into klp-dev * commit '05f92b7c5810dfc4e96cd5dddff1f7f380739136': Update roots when data cleared, refresh UI. Treat document thumbnails as preemptable.
| * | am 3a27585d: am a9a6007c: Merge "Treat document thumbnails as preemptable." ↵Jeff Sharkey2013-10-231-12/+38
| |\ \ | | |/ | | | | | | | | | | | | | | | into klp-dev * commit '3a27585df77997b5ea01a086b739ee6866000444': Treat document thumbnails as preemptable.
| | * Treat document thumbnails as preemptable.Jeff Sharkey2013-10-231-12/+38
| | | | | | | | | | | | | | | | | | | | | | | | When a more important request comes along, preempt all outstanding thumbnail requests. Bug: 11317901 Change-Id: I164fc8d804bb9c471e6da3f8127228043b3ca482
* | | am 703840da: am 1a5804d7: am 0c0f1e2e: Merge "Include external storage ↵Jeff Sharkey2013-10-173-41/+150
|\ \ \ | |/ / | | | | | | | | | | | | | | | devices in DocumentsUI." into klp-dev * commit '703840da8a33c703f2d787526438c650b0318845': Include external storage devices in DocumentsUI.
| * | am 1a5804d7: am 0c0f1e2e: Merge "Include external storage devices in ↵Jeff Sharkey2013-10-173-41/+150
| |\ \ | | |/ | | | | | | | | | | | | | | | DocumentsUI." into klp-dev * commit '1a5804d7aa253432f37fbd5d8eb89ac363501fe9': Include external storage devices in DocumentsUI.
| | * Include external storage devices in DocumentsUI.Jeff Sharkey2013-10-173-41/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | Include volume UUID in generated document IDs to uniquely identify volumes over time. Show volume label to users. Watch for mount changes to update available roots. Bug: 11175082 Change-Id: Ia151bde768587468efde0c1d97a740b5353d1582
* | | am 25b99efb: am ac0cb359: am 8e656df0: Merge "Add extras to AFD, send ↵Jeff Sharkey2013-10-151-13/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | orientation metadata." into klp-dev * commit '25b99efb3259c9f6d7bcdacd3cb2bafd6b1a0e63': Add extras to AFD, send orientation metadata.
| * | am ac0cb359: am 8e656df0: Merge "Add extras to AFD, send orientation ↵Jeff Sharkey2013-10-141-13/+2
| |\ \ | | |/ | | | | | | | | | | | | | | | metadata." into klp-dev * commit 'ac0cb3591a637533c1f0329fd00a621fbe1fd997': Add extras to AFD, send orientation metadata.
| | * Add extras to AFD, send orientation metadata.Jeff Sharkey2013-10-141-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AssetFileDescriptor augments a ParcelFileDescriptor with details about how it should be interpreted, so extend it to support a Bundle of extras. Then use these extras to share thumbnail orientation metadata. The raw image data of EXIF thumbnails matches the orientation of the enclosing image, but the thumbnail data doesn't repeat the EXIF flags. This meant that receivers of openDocumentThumbnail() would get an image that needed to be transformed, but without enough context to actually transform it. Instead of transforming and recompressing the image on the fly on the provider side, send a transformation hint that the receiver side can interpret. Bug: 11205688 Change-Id: Ibc5a7ad002377a55e6ffcb5ac5c8829841002e06
* | | am 416165f4: am ce05cbc5: am 6e19feb4: Merge "Treat dates near epoch as ↵Jeff Sharkey2013-10-111-2/+11
|\ \ \ | |/ / | | | | | | | | | | | | | | | unknown." into klp-dev * commit '416165f4313ac2deea430030ff44d9da0388b8bc': Treat dates near epoch as unknown.
| * | am ce05cbc5: am 6e19feb4: Merge "Treat dates near epoch as unknown." into ↵Jeff Sharkey2013-10-111-2/+11
| |\ \ | | |/ | | | | | | | | | | | | | | | klp-dev * commit 'ce05cbc5ec52417f1f927be2b3d9b93e0881a4d9': Treat dates near epoch as unknown.
| | * Treat dates near epoch as unknown.Jeff Sharkey2013-10-111-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | Also document that rootIds need to be stable, so removable media roots should use the media serial number. Bug: 11151557 Change-Id: I1f3dcabcd0474f1bf92d2cafb0f37e82abe34e05
* | | am 9d1383c6: am 5e02e0a9: am bcc77b50: Merge "Add <intent-filter> support to ↵Jeff Sharkey2013-10-071-6/+6
|\ \ \ | |/ / | | | | | | | | | | | | | | | <provider>." into klp-dev * commit '9d1383c61ca0932cb36b104a89c32db15de6a10e': Add <intent-filter> support to <provider>.
| * | am 5e02e0a9: am bcc77b50: Merge "Add <intent-filter> support to <provider>." ↵Jeff Sharkey2013-10-071-6/+6
| |\ \ | | |/ | | | | | | | | | | | | | | | into klp-dev * commit '5e02e0a9e1e075e3d451d929b0a67bf280c432ed': Add <intent-filter> support to <provider>.
| | * Add <intent-filter> support to <provider>.Jeff Sharkey2013-10-071-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the new documents work, we're only interested in the subset of ContentProviders that actually implement DocumentsContract. Instead of returning all providers, add <intent-filter> support to make it easier to limit the set of returned ProviderInfo. Define a well-known action for DocumentsProviders, and start using it when querying for roots. Continue supporting the old <meta-data> approach until all apps have been updated. Bug: 8599233 Change-Id: I05f049bba21311f5421738002f99ee214447c909
* | | am 21d8e96d: am ef4c3790: am 27d3c0fe: Merge "Isolate calls to each remote ↵Jeff Sharkey2013-10-021-1/+20
|\ \ \ | |/ / | | | | | | | | | | | | | | | DocumentsProvider." into klp-dev * commit '21d8e96d840be42fae56483a2e291fc10677b2d9': Isolate calls to each remote DocumentsProvider.
| * | am ef4c3790: am 27d3c0fe: Merge "Isolate calls to each remote ↵Jeff Sharkey2013-10-021-1/+20
| |\ \ | | |/ | | | | | | | | | | | | | | | DocumentsProvider." into klp-dev * commit 'ef4c3790e52beab467359f6b5125b66fbe1993ef': Isolate calls to each remote DocumentsProvider.
| | * Isolate calls to each remote DocumentsProvider.Jeff Sharkey2013-10-021-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All background work is going through AsyncTasks, which uses a shared thread pool. Even with the new ContentProviderClient logic to detect ANRs, the UI can still appear to be unresponsive for 20 seconds, even if the user attempted to switch to a different backend. In the worst case, a backlog of thumbnail requests would end up wedging Loaders for a long time, since they all share the same THREAD_POOL_EXECUTOR. This change isolates calls to each provider onto their own thread, which they're free to wedge and recover from over time. It also means we no longer need a dedicated thread pool for recents loading, and can use a simpler Semaphore instead. Disables thumbnails in recents on svelte devices. Bug: 10993301, 11014856 Change-Id: I7f8a5bbb5f64437e006cb2c48b7e854136d5c38c
* | | am 7f60e70e: am 666b998b: am 364fc14f: Merge "Detect wedged ↵Jeff Sharkey2013-10-021-8/+28
|\ \ \ | |/ / | | | | | | | | | | | | | | | ContentProviders, treat as ANR." into klp-dev * commit '7f60e70e815d381035b141843395830407c198d9': Detect wedged ContentProviders, treat as ANR.
| * | am 666b998b: am 364fc14f: Merge "Detect wedged ContentProviders, treat as ↵Jeff Sharkey2013-10-021-8/+28
| |\ \ | | |/ | | | | | | | | | | | | | | | ANR." into klp-dev * commit '666b998b67fe7bb6fc11dd6d683a18b5690afd39': Detect wedged ContentProviders, treat as ANR.
| | * Detect wedged ContentProviders, treat as ANR.Jeff Sharkey2013-10-011-8/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All ContentProvider calls are currently blocking, making it hard for an app to recover when a remote provider is wedged. This change adds hidden support to ContentProviderClient to timeout remote calls, treating them as ANRs. This behavior is disabled by default. Update DocumentsUI to use a 20 second timeout whenever interacting with a storage provider. Bug: 10993301, 10819461, 10852518 Change-Id: I10fa3c425c6a7225fff9cb7a0a07659028230cd3
| * | am cc637d9a: Merge "New roots UX, async, performance, docs." into klp-devJeff Sharkey2013-09-302-8/+3
| |\ \ | | |/ | | | | | | | | | * commit 'cc637d9ae5920ac2f685090f595dc1e1643d71cc': New roots UX, async, performance, docs.
* | | am cc637d9a: Merge "New roots UX, async, performance, docs." into klp-devJeff Sharkey2013-09-302-8/+3
|\ \ \ | | |/ | |/| | | | | | | * commit 'cc637d9ae5920ac2f685090f595dc1e1643d71cc': New roots UX, async, performance, docs.
| * | New roots UX, async, performance, docs.Jeff Sharkey2013-09-272-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Yet another iteration from UX on how roots should be ordered. Since we no longer categorize by type, remove from public API. Updated asset drop with new dividers. Update public API docs to be explicit about required columns. Hide flags and columns that aren't required for third-party apps. Move remainder of potentially blocking work to AsyncTasks, including creating directories, picked root resolution, and creation of new documents once picked. Improve performance of layouts by removing baseline alignment and reduce hierarchy depth. Set alpha on ImageViews directly to avoid offscreen rendering hit. Limit returned recents to 45 days. Show load in recents when still waiting for backends. Show empty message when no recents stacks to create from. Use unique key when saving recent stacks. Bug: 10941423, 10819454, 10964412, 10960718 Change-Id: I08cf589dcda7e203acf67928f4d30322ae36ee94
* | | am cd30bb6c: am bb77d99c: Merge "Directories are always enabled; update ↵Jeff Sharkey2013-09-261-5/+5
|\ \ \ | | |/ | |/| | | | | | | | | | | | | assets." into klp-dev * commit 'cd30bb6c710d40839bc8b4d6edcb866f13342b5a': Directories are always enabled; update assets.
| * | am bb77d99c: Merge "Directories are always enabled; update assets." into klp-devJeff Sharkey2013-09-261-5/+5
| |\ \ | | |/ | | | | | | | | | * commit 'bb77d99c257bc4a3371548c4bc8ba7088fa76005': Directories are always enabled; update assets.
| | * Directories are always enabled; update assets.Jeff Sharkey2013-09-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Fix bug where item enabled state depended on FLAG_SUPPORTS_WRITE; directories are now always enabled. Also unifies enabled testing. Bug: 10903210, 10946731 Change-Id: I241533d273dfe4a2146bb322a8bd93066bf4ef55
* | | am b8a48da2: am 5e1a5e5b: Merge "Create unique files, root ordering, UI ↵Jeff Sharkey2013-09-221-33/+34
|\ \ \ | |/ / | | | | | | | | | | | | | | | bugs." into klp-dev * commit 'b8a48da2a707720a105584f1b8dc087a6dd9c887': Create unique files, root ordering, UI bugs.