- Cleanup: Set the focusable flag in xml rather than in java.
- Add a border for the currently focused item in grid mode.
BUG=24326989
Change-Id: Ib17e93c377fb6b16bf8a7eccfb213f521d9596f0
- Add a click handler that basically handles all cases (including the
enter key) of Items being clicked.
- Open the focused file in non-select mode, toggle selection if in
selection mode.
- Remove now-redundant onSingleTapUp handlers.
- Redo focus indicator, since it's now possible to toggle selection on
the focused file.
- Don't dismiss selection on arrow-key navigation.
BUG=24705453
BUG=25114155
Change-Id: Iba74188514ecf2bc6b56573087e3c3ccc83f85d2
Add a new top-level CoordinatorLayout to ensure proper operation of the
snackbar.
Switch all Toast code over to use Snackbar.
BUG=24474629
Change-Id: Iafffb35be6115cbac9304fd44e77e73b6be40c17
- Reorganize the directory fragment.
- Repurpose the "empty" view to hold a message and a button.
- Message is set to the "No items" message if a directory is empty.
- Message is set to the error message if a query error occurs.
- Don't close DocumentsUI when a query error occurs.
Change-Id: I4e1e96f23040606b410ac746252dcb0ab9286f04
- Add a material-style horizontal progress bar to DocumentsUI. This
replaces the old loading footer.
- Restore the view-switching code that displayed a dedicated "empty"
view when displaying an empty directory.
- Fix tests.
Change-Id: Ifecb867f6edecbdeb37b8607d87d9797879a589d
- Remove footers from DirectoryFragment.
- Add a new MessageBar fragment that can display error/info messages.
BUG=22638983
Change-Id: I2075ae8e4dca8954a09c1fc57ed62bb6d3bff7a9
- Split all ACTION_MANAGE-related functionality off from
DocumentsActivity, into a new activity.
- Create new full-screen layouts for said activity.
- Fix some styling issues in {Documents,Files}Activity.
Change-Id: I0384715ad3c7d70a3a3daf510f1a09e8c5732348
Switches from Material to AppCompat themes in order to start using
Snackbar.
Also, factor the common bits out of DocumentsNonDialogTheme and
FilesTheme, and make the theme names clearer.
BUG=23518578
Change-Id: I94a00e910469c57315823ae9df33024f2c7360ee
This makes more space available for content.
Rename all the "Standalone" stuff to just "Files".
Move layout inflation into base class.
Move backbutton > drawer interaction into BaseActivity.
Change-Id: Ie778b323c6e80122389f029be148dd9e0c4bfb6e
Introduce a new GridItem class whose onMeasure method enforces a square
aspect ratio, and use it for rendering items when in grid mode.
Change-Id: Ieda82b644d0155354ee8e4c1dacae4af7436b7aa
Use margin instead of padding (so clicks on empty space don't do unexpected things).
Make background of items white.
Change-Id: I98996c90276911535b7addad1aad4a3c9ca47156
Add MultiSelectMaanger class to manager selection on a RecyclerView instance.
There are several outstanding issues that still need to be addressed
surrounding Grid mode as the GridLayout manager doesn't support
automatic column count calculation.
Also, we're missing the puddle effect on touch...
And probably other stuff. But it all *mostly* works.
Oh, also. Footers are currently commented out.
Add traditional unit tests for MultiSelectManager.
BUG: 22225617
Change-Id: I3cd26a10683f42053556d463a5d2f0d2a0bbde84
Various fragments need backgrounds to protect their contents during
animation transitions.
Bug: 22232368
Change-Id: I4ce4c57650f9b64b3c6101d829dd484417585410
Previously we hid the stack dropdown list just before the action bar is
collapsed. Then the dropdown list gets back to be visible when the action bar is
collapsed.
The CL updates visibility of the stack dropdown list just after the action bar
is collapsed.
BUG=20945584
Change-Id: Iaf5055bce101f8134accd311829e50f441ddc98b
* Remove the directory name from "pick" button.
* Allign buttons at right.
* Fix bug that the pick button turns to be hidden after screen rotation.
BUG=20285152
Change-Id: I909d52f341bf67c5627431a354a9b0ccec152a05
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
In some cases we want to show light variants. Also tweak drawer
sizes and grid padding.
Bug: 15836082
Change-Id: Ic6459ff0533a7d346c03db5d7deb3d6da42e7649
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
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
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
When mutation operations are waiting for a storage backend, show a
spinner in place of the save button.
Bug: 11333249
Change-Id: I2b620b4532ad977a2b60d4bdc5caa55f89021456
Long document titles can include distinguishing details at the end
of the title, so ellipsize in the middle. All other details ellipsize
at the end.
Bug: 11081420
Change-Id: I2c266ebc594d2ad383033b435acb8adb5fb823bc
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
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
When restoring a persisted stack, such as last location or a location
where save occurred, freshen the DocumentStack to get the latest
details from backend, and ensure the path is still valid.
Filter Recent directories in create mode based on roots allowed by
incoming request.
Remember when user last picked an external app, and open drawer next
time user launches for GET_CONTENT.
Fix state list drawable ordering, and avoid clobbering Drawable
callback when wrapping in InsetDrawable; tricksy hobbitses!
Make grid items smaller to always fit two columns on phones. Draw
grid items all the way to screen edge; don't clip to padding. Better
error message when folder creation failed. Show Recents in grid mode
when picking any visual content, not just images.
Bug: 10846100, 10903211, 10898993, 10892808, 10892058, 10892009, 10885012
Change-Id: Ia0f88d911abc6ea03645d6fd3e04271c21d5936a
Bring in latest asset drop. Apply grid padding programmatically
instead of waiting for asset. Remove alpha from directory animation.
Update save footer background to match spec.
Bug: 10700025
Change-Id: I8eef08f36d04767b78e91b23f72bdbebfbb02f58
Save scroll position and restore when rotating or going up the
directory stack. Also show directory animations when navigating
the directory stack.
Bug: 10417201
Change-Id: Ia2c508debc2bffffe6306eb9078afefef259dfe2
When picking images or videos, hide the titles in recents, since the
thumbnails should speak for themselves. Also respect new flag that
allows a directory to request their titles be hidden.
Show directory icon hint in grid mode when showing a thumbnail, to
remind user it's a directory.
Filter directories out of recents. Hide most action bar icons on
phones, even when room. Only show drawer on first launch. Hide most
drawer headers to match spec.
Bug: 10710331
Change-Id: I0ef1973ddd62750f57345336388366eda1449720
Shows as a faux dialog on larger tablets, since the normal dialog
themes from framework don't support action bars. Instead, this hacks
itself to look like a dialog with an InsetDrawable. Detects touches
in dim area to dismiss dialog.
Show all action bar icons on tablets, and roots panel is always
visible with a different shadow. Show settings in dialog. Allow mode
switches in recents.
Bug: 10329832
Change-Id: Id02982ce7b0d4694962d32f8d5286fdfcc207208
Fixed text colors to match spec. Behold The Greyening! Centered
loader spinner in grid mode. Show multiple lines in status messages.
Add string descriptions. Fix bug where toggling size setting didn't
kick a UI rebind.
Bug: 10510022
Change-Id: Icb41ebeb4de0fed8c04fc6cf5213af1587b72641
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