summaryrefslogtreecommitdiffstats
path: root/packages/DocumentsUI/src/com/android
Commit message (Collapse)AuthorAgeFilesLines
* Show copy destination when clicking on the copy notification in Documents UI.Tomasz Mikolajewski2015-04-136-56/+59
| | | | Change-Id: I3d955595bc46903c134c0633a6d32663cc2d0c05
* Browse mode for DocumentsUI, removed volume state.Jeff Sharkey2015-04-124-25/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing management mode is too specific, and requires that storage backends add queryChildDocumentsForManage(), etc. Instead, to offer more natural browsing support, add a new BROWSE_ROOT intent. It behaves mostly like MANAGE_ROOT, except that it doesn't mutate its Uris with setManageMode(), and it shortcuts straight to VIEW on clicked documents. It can be launched like this: $ adb shell am start -a android.provider.action.BROWSE_ROOT -d content://com.android.externalstorage.documents/root/8405-1DFB -c android.intent.category.DEFAULT Also rename a MetricsConstants to make it clearer, and don't auto-mount all emulated volumes. Fix bugs around parceling of DiskInfo/VolumeInfo. Method to resolve the best description for a VolumeInfo, which might need to fall back to DiskInfo. Add back "removed" volume state so we send broadcast when a volume is destroyed, matching the expected public API behavior. Bug: 19993667 Change-Id: I13aff32c5e11dfc63da44aee9e93a27f4690a43f
* Enable directory copying.Ben Kwa2015-04-102-51/+210
| | | | | | | | | | | | | | - Enable directory picking for copying. - Implement recursive copying inside the CopyService. - Pretty up the notification (use an indeterminate notification while calculating copy size) - Do two recursive walks: one to determine the size of the copy job, and then another to actually copy the files. - Switch to using ContentProviderClient instances, for better error detection and handling - Disable copying from the Recents view. Change-Id: Ieb38cca80edf84a487547b68f0d6b328fc4d7701
* Prototype the destination picking.Ben Kwa2015-04-082-32/+75
| | | | | | | | | | - Add an intent to open a destination picker, and refactor DocumentsActivity accordingly. - Modify CopyService to take a destination for the copy, and to use URIs and PFDs instead of Files and Streams, for better error handling & cleanup. Change-Id: I69dc43823a703674dc29d2215e2df23b33ad7882
* Enable directory selection. Add an IntentService to copy files.Ben Kwa2015-04-032-0/+304
| | | | Change-Id: I0bec0224aa1b52766664c23f77d60affec702111
* Add a "Select All" menu item and code.Ben Kwa2015-03-311-0/+8
| | | | Change-Id: I31ed8bff83d8a621a31ea5c2a0d1bb218f53d6e2
* Implement a standalone file manager activity.Steve McKay2015-03-2514-162/+1169
| | | | Change-Id: Iaf86ef416b979cea4ab3890d3a26f09741392c3d
* Replace usages of deprecated Resources.getColor() and getColorStateList()Alan Viverette2015-03-181-1/+1
| | | | Change-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0
* Remove unused imports in frameworks/base.John Spurlock2015-02-282-4/+0
| | | | Change-Id: I031443de83f93eb57a98863001826671b18f3b17
* Move Documents action bar update even later.Jeff Sharkey2014-11-241-1/+1
| | | | | | | | | | | | At some point Activity started restoring the Toolbar/ActionBar title during onPostCreate(), which would clobber some of the setup we just finished doing. To fix, move our update to be even later in the restore lifecycle. Also fix grid item widths for small screen devices. Bug: 17428127 Change-Id: I258121b6a6eec5924f92b02290a67d3ae7dd9cf6
* Recent directories can't show file size.Jeff Sharkey2014-10-241-2/+4
| | | | | | | Don't show the toggle to the user, which can avoid crashing. Bug: 17942524 Change-Id: Iaedd61b7c69e14b57508cb9865d1e0124ca2e505
* DocumentsUI: Add content description for nav.Jeff Sharkey2014-10-131-0/+2
| | | | | Bug: 17922955 Change-Id: I44c0107d8dd03aab36da55deeb864e328b492124
* Manage mode shouldn't block for other providers.Jeff Sharkey2014-09-101-3/+6
| | | | | | | | | | | | When loading DocumentsUI in management mode (for Downloads), we normally focus on a single authority and let the other providers keep loading async. However, when one of the providers kicks a change notification, we end up blocking the main thread. Simple fix is to move the blocking into the AsyncTask. Bug: 17452691 Change-Id: Ie5212ad825b7df719690b29941c9ae9ba2cabe4b
* Final pass at Material DocumentsUI.Jeff Sharkey2014-08-295-32/+37
| | | | | | | | | Now with treatment for disabled and selected grid items. Inverts text and icons in selected drawer items. Follows upstream color changes to accent color. Disables some verbose logging. Bug: 15836082, 17281688 Change-Id: I97a1c055a2f1a537388a8f5669147618e9698870
* Make sure we're obtaining themed drawables correctlyAlan Viverette2014-08-143-19/+14
| | | | Change-Id: I446a3492f7bf5a897c5d698e61327af4b7840d85
* Move DocumentsUI settings into overflow menu.Jeff Sharkey2014-08-084-54/+58
| | | | | | | Also use different strings based on device type to make clearer. Bug: 13437894 Change-Id: I4053780de2c7197fb45cc53aee7659e9d0d75c0a
* Separate MIME icons for some office formats.Jeff Sharkey2014-08-081-10/+19
| | | | | Bug: 12548097 Change-Id: I11808854e0a4fae2636a04f75599e022b4a8440f
* More material updates to DocumentsUI.Jeff Sharkey2014-08-085-39/+49
| | | | | | | | All assets cut as alpha variants so we apply desired tinting at runtime. Small script to automatically generate XML resources. Bug: 15836082, 16658537 Change-Id: I803b3f0bf6f121194a5445fd1c6600fabaf28f60
* Use system collator for display names.Jeff Sharkey2014-08-062-12/+37
| | | | | | | | Continue sorting directory names first, but use system collator in case-insensitive ordering. Bug: 13545569 Change-Id: I24b314c9ef42f397bc96f474d9593bdefc0061d1
* Light icons for DocumentsUI.Jeff Sharkey2014-07-304-3/+27
| | | | | | | | In some cases we want to show light variants. Also tweak drawer sizes and grid padding. Bug: 15836082 Change-Id: Ic6459ff0533a7d346c03db5d7deb3d6da42e7649
* Latest DocumentsUI material asset drop.Jeff Sharkey2014-07-291-0/+2
| | | | | Bug: 15836082 Change-Id: Ifdd8a42a963071f1c958d56b3f835228f257cf9a
* More DocumentsUI material iteration.Jeff Sharkey2014-07-293-118/+90
| | | | | | | | | | | | | | Move to using Toolbar for all actions. Drawer contains its own Toolbar with separate title, and hamburger is always visible. Change drawer items to match spec. Switching to Toolbar allows us to remove nasty dialog-on-tablet hacks, yay! This also means we can finally get real IME resizing support. Move to using elevation for all shadows; this removes more nasty hacks around drawing directory shadows. Bug: 15836082 Change-Id: Iba70b898f385a7debd8aabfc98ff39d20bca860d
* First pass at Materializing DocumentsUI!Jeff Sharkey2014-07-286-36/+45
| | | | | | | | | | | | | | | Initial Material asset drop, which still needs some tweaking. Moved back to framework list item selectors, giving us ripples. Using accent color overlay for activated items. Align all items to new Material grid, including insetting list divider and resizing list items on wide screens. Fix obscure RTL drawing bug. Still lots of work left. Bug: 15836082 Change-Id: I729cc7dcb0271ee62b55d1e036fc28427fc0dd3d
* Refactor directory API to "opening document tree."Jeff Sharkey2014-06-093-23/+25
| | | | | | | | | 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
* am ddba067f: am f521ee6f: am e3e2c471: Merge "Set ActionMode title to the ↵Jeff Sharkey2014-05-101-0/+2
|\ | | | | | | | | | | | | number of selected files" * commit 'ddba067f0fa1560ce3e1aff58d512824ac2e2d7d': Set ActionMode title to the number of selected files
| * am e3e2c471: Merge "Set ActionMode title to the number of selected files"Jeff Sharkey2014-05-101-0/+2
| |\ | | | | | | | | | | | | * commit 'e3e2c471b2504335e99ed15975c3c5c9dfbf2795': Set ActionMode title to the number of selected files
| | * Set ActionMode title to the number of selected filesStefan Wysocki2014-04-281-0/+2
| | | | | | | | | | | | | | | | | | | | | After change of orientation ActionMode is recreated without previously set title. It needs to be updated in onCreateActionMode callback. Change-Id: If5f36e8ad6d1b5cf04ed242611fd037969d73517
* | | Add directory selection to DocumentsProvider.Jeff Sharkey2014-04-224-276/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | resolved conflicts for merge of e0b14ea7 to masterKenny Root2013-12-132-5/+5
|\ \ \ | |/ / | | | | | | Change-Id: Ie018d3e2eba1eb2d655c153880e1951b68c2bd51
| * | am 37c69fdd: Merge "Use java.util.Objects instead on internal API"Kenny Root2013-12-132-5/+5
| |\ \ | | |/ | | | | | | | | | * commit '37c69fdd826f3973966430adc1abfbefc19bc16e': Use java.util.Objects instead on internal API
| | * Use java.util.Objects instead on internal APIKenny Root2013-12-132-5/+5
| | | | | | | | | | | | | | | | | | | | | Not needed since java.util.Objects implements all the needed functionality. Change-Id: Icd31d49a9801d1705427f028e9ac927d58e7d34c
* | | Remove unused imports from frameworks/base.John Spurlock2013-11-203-4/+0
|/ / | | | | | | Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
* | Mask OOBE when filtering recent documents.Jeff Sharkey2013-11-182-1/+5
|/ | | | | | | | | | There is a data ownership issue related to recent documents Cursors, and the loader and UI threads can end up traversing the same Cursor at runtime. This change masks OOBE crashes caused by this race until we have time to fix cleanly. Bug: 11736668 Change-Id: I2039a5edcf341fcaedacc2f08bde96fc5a271782
* Suppress OperationCanceledException logging.Jeff Sharkey2013-10-291-1/+4
| | | | | | | | These exceptions are normal when an app has cancelled an outstanding thumbnail request. Bug: 11385378 Change-Id: I8aed5721b447cda5baf447ac7afd627aa1062863
* Guard against missing document columns.Jeff Sharkey2013-10-292-11/+11
| | | | | | | | When filtering and sorting, guard against missing columns to avoid crashing entire app. Bug: 11377065 Change-Id: I04f035c918d743bcc84592f05e3ef9ad0ebfadce
* Use inotify to update DocumentsUI.Jeff Sharkey2013-10-251-4/+1
| | | | | | | | | | | | | 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
* Extra to always show advanced devices.Jeff Sharkey2013-10-252-2/+8
| | | | | | | | 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
* Remove persisted stacks when app removed/cleared.Jeff Sharkey2013-10-242-1/+178
| | | | | | | | When an app's data is cleared, or it's uninstalled, remove any persisted stacks. Bug: 11355566 Change-Id: I4e5cf0ec710591ad62f1ad52c2e358616631af41
* Long-press on GET_CONTENT app shows its details.Jeff Sharkey2013-10-231-0/+32
| | | | | | | Matches ResolverActivity behavior. Bug: 11319259 Change-Id: Id7f2a73b225e4cfd9bdef3b1c7cecb77d9bd2b90
* Show spinner while waiting for mutations.Jeff Sharkey2013-10-233-1/+30
| | | | | | | | When mutation operations are waiting for a storage backend, show a spinner in place of the save button. Bug: 11333249 Change-Id: I2b620b4532ad977a2b60d4bdc5caa55f89021456
* Update roots when data cleared, refresh UI.Jeff Sharkey2013-10-233-2/+11
| | | | | | | | Data cleared usually means accounts went away, so kick off roots refresh. Also update any visible UI after a refresh finishes. Bug: 10899793 Change-Id: Id68c80b5e635e358cfd75f4961ce13cd1c7c5f82
* Treat document thumbnails as preemptable.Jeff Sharkey2013-10-232-6/+58
| | | | | | | | When a more important request comes along, preempt all outstanding thumbnail requests. Bug: 11317901 Change-Id: I164fc8d804bb9c471e6da3f8127228043b3ca482
* Support overriding calling package in Documents.Jeff Sharkey2013-10-091-3/+8
| | | | | | | | | Calling package is only used to pick the stack to restore, not for security purposes. This lets other system tools (like Printing) indicate the real caller. Bug: 11149540 Change-Id: I155e32577eaeda7dfcb80a7d84ac3b54f281590a
* Drop <meta-data> support for DocumentsProviders.Jeff Sharkey2013-10-091-10/+0
| | | | | | | | Prebuilts have finished migrating to new <intent-filter> based approach. Also update isDocumentUri() to match new definition. Bug: 11109484 Change-Id: Ib95e2c3f5a9ff70b8d5e411f68ad49d1990dae8c
* Grab Activity reference before leaving fragment.Jeff Sharkey2013-10-081-12/+12
| | | | | | | | | When creating a new directory, we spawn an AsyncTask and finish the fragment. This change keeps an Activity reference to report the result back to. Bug: 11137561 Change-Id: Icfccc5e50e8f53a50dced589e1564d64457e0ed0
* Merge "Add <intent-filter> support to <provider>." into klp-devJeff Sharkey2013-10-071-33/+48
|\
| * Add <intent-filter> support to <provider>.Jeff Sharkey2013-10-071-33/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "When launched into empty recents, show drawer." into klp-devJeff Sharkey2013-10-073-3/+16
|\ \ | |/ |/|
| * When launched into empty recents, show drawer.Jeff Sharkey2013-10-073-3/+16
| | | | | | | | | | | | | | | | | | Pull out drawer to give users more context about meaningful places to navigate to. Also fix bug where restored roots weren't being highlighted. Bug: 10852518 Change-Id: Id294f6923477ca4dc505c4b0a21a5bdf8b722cf4
* | Custom pressed states, fixed column sizes.Jeff Sharkey2013-10-041-0/+4
|/ | | | | | | | | | Use custom pressed state assets. Use fixed column sizes to prevent truncating of long dates on small screens. Also tear down any active CAB when switching fragments. Bug: 11032418, 11028212 Change-Id: I2bf3dc3f693319b4b55cc901ed460f60faceba35