History log of /packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c8889af6757ecb348fb8fd6dadf84d67d3478cbf 23-Sep-2016 Steve McKay <smckay@google.com> Move delete support into base ActionHandler.

Introduce an "Addons" interface that describes all of the
extra stuff we expose in our concrete Activities allowing
us to write test doubles for our Activities.
Add new "ui" package for UI specific stuff like:
Introduce DialogController, isolating dialog business in
a separate class (that can be easily replaced with a double)
Move delete confirmation and snackbar-error reporting
into this class.
Introduce a Messages class for building messages, but isolated
from implementation details.
Add test for delete logic in ActionHandler (now that the
code is unit-testable.)
Introduce new ClipStore interface to improve testability
of code that depends on clip storage...but in this
CL we don't yet cover any of that.

Decouple all ActionHandler impls from their
Change-Id: Ic1449e501c855cdb72bf7666f4b67b9a9e9c1b49
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
d9caa6ab53aa784acaf241c0ded3c4ae2d342bf8 16-Sep-2016 Steve McKay <smckay@google.com> Move State to base and root stuff to roots.

And move Shared to base.
And lots more to base.

Change-Id: I8b01264a329473c13c59f0cd25a320ba73dbd82d
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
d080506e3aa8547605cd4783eb660775d7d2b8ee 15-Sep-2016 Steve McKay <smckay@google.com> Move more classes to more specific locations.

Moved .model classes to .base.
Deleted some unused classes.
Moved functional tests into a new .funcitonal package.
Followup to 1450250.

Change-Id: Ic087fe4a014d9179fab3dc6f833aaf73373f9452
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
46a868a96931a097d098ce3b76068b4946e38662 30-Mar-2016 Aga Wronska <agawronska@google.com> Add metrics for create directory and rename file operations

Change-Id: I4814673b4066efa840e1fb52a7549d8c7ebc4f63
Fixed: 27908149
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
741ac6fffb3ee2441569412a28a1c4f3c2160d87 03-Mar-2016 Aga Wronska <agawronska@google.com> Force show keyboard when presenting FragmentDialogs with EditText.

Bug: 26823589
Change-Id: I593ed0e7ef40c9c95c311ca529d3826d73496458
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
279ec317f58ac335abd7d0beab70401ef430d4fd 08-Feb-2016 Aga Wronska <agawronska@google.com> Improve document rename experience
- Initially select the name of the file without extension
- Trigger renaming action when software keyboard Done button pressed
- Trigger creating new directory when software kayboard Done button pressed

Bug: 26954407
Change-Id: I700d5beacdb98eb0699bbdd4f4bbcafcc1a67e83
(cherry picked from commit 953498df13ff05f189a6de750093e322250a6659)
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
3c23718ad126b4cc4f0a80dd29f0d4e411ccc1d3 21-Jan-2016 Aga Wronska <agawronska@google.com> Add support for renaming documents

- Add rename dialog
- Add rename menu option
- Enable rename menu option only when renaming supported
- Rename files and directories
- Present error message if renaming fails

Bug: 20493815
Change-Id: Ic7386d14e3876655fb19245b9a90b4c67a4febb4
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
e9ec61ee67fa6ed49b56f0ae9af90e6d6f9b9f4e 02-Dec-2015 Steve McKay <smckay@google.com> Guard against null key events...which can happen.

Bug: 25772143
Change-Id: I0c2665aea25c65b92e6f6c0b1454f1e07112fc9c
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
e980927578d51373a53a3aa9531bc73fb773fff8 01-Oct-2015 Steve McKay <smckay@google.com> Normalize and improve menu fiddling.

Also, don't show copy/paste menu items (though they can still be invoked via keyboard).
Show copy to /move to instead.

Change-Id: I6e7bdf35bf370ea30d4f12a5a200ad38ff0221f4
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
c4693349d1a49dec8fd203f2c7adce18eee28b0a 30-Sep-2015 Ben Kwa <kenobi@google.com> Switch DocumentsUI over from Toasts to Snackbars.

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
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
fefcd700d6b4cf1c4402af74c50fb0e762472901 20-Aug-2015 Steve McKay <smckay@google.com> Use type inference where possible.

Normalize use of Annotations like VisibleForTesting, Nullable and so on.
Also, fix a small issue where we were not doubling the marging on cells when calculating columns for grid view.

Change-Id: Ia02f683c2682fa8d0963d13f253a359911d27965
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
351a749751bc501c9d7c0f03ee5b542f0e7a7d7c 04-Aug-2015 Steve McKay <smckay@google.com> Populate quick view intent w/ file uris.

Change-Id: Ie4f15b11be1939f8b71752505caa9d74ab9f9680
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
137437e161f23b8a2ecea1cb9d5826c65b1d9537 03-Aug-2015 Tomasz Mikolajewski <mtomasz@google.com> Update colors of the create dir dialog in DocumentsUI.

Change-Id: I3c7d452999eb0d18c87a2e767cfc69b0cb1c4928
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
ceeb3f7d93d1667243c2ad4b743e5c78add29261 20-May-2015 Steve McKay <smckay@google.com> Improve keyboard control of "create folder" action.

Bind CTRL+Shift+N shortcut to the create folder command.
Improve dialog support (execute on enter).

BUG=21271637

Change-Id: I9474c63cb2568b98b6d829c9552828b9b68da8de
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
5e839352e1db5446370fdf0380e6ee12e6200b12 16-Apr-2015 Daichi Hirono <hirono@google.com> DocumentsUI: Stop to override fixed size of dialog in CreateDirectoryDialog.

Previously CreateDirectoryDialog overrides fixed size defined in the application
theme. As a result, the dialog is shown as vertically long.

The CL specifies explicitly specifies the default theme for dialog when creating
the dialog to stop override the application theme.

BUG=20239384
Change-Id: I7227bd91705c32f5196b666bbe94ff32b5cb4af8
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
d0a2a2c4e061da0de1b0008b841cacd9fc4416ed 25-Mar-2015 Steve McKay <smckay@google.com> Implement a standalone file manager activity.

Change-Id: Iaf86ef416b979cea4ab3890d3a26f09741392c3d
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
4be51f196d60ba23856b646de3091364230258b0 24-Oct-2013 Jeff Sharkey <jsharkey@android.com> Show spinner while waiting for mutations.

When mutation operations are waiting for a storage backend, show a
spinner in place of the save button.

Bug: 11333249
Change-Id: I2b620b4532ad977a2b60d4bdc5caa55f89021456
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
0aa2692b5f9eb9d0a7b2cb763dcfb75bb728f31a 09-Oct-2013 Jeff Sharkey <jsharkey@android.com> Grab Activity reference before leaving fragment.

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
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
f63b77709fb5b4de618e3699506f7710f62d551a 02-Oct-2013 Jeff Sharkey <jsharkey@android.com> Isolate calls to each remote DocumentsProvider.

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
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
3fd11777c7eab734919efa4d8e7755aef803c19f 30-Sep-2013 Jeff Sharkey <jsharkey@android.com> Detect wedged ContentProviders, treat as ANR.

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
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
9dd02629d12d05c2e77780dc6b9fcc7639192de6 28-Sep-2013 Jeff Sharkey <jsharkey@android.com> New roots UX, async, performance, docs.

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
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
38ec252f93f0798d81b11fce0a4064214928d969 24-Sep-2013 Jeff Sharkey <jsharkey@android.com> Freshen restored stacks, more UX bug fixes.

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
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
a4d1f2200ddfb0d12145fba8457c47e8051c84f7 07-Sep-2013 Jeff Sharkey <jsharkey@android.com> Remember mode and sort on per-directory basis.

Persist the last user-selected list/grid mode and sort order for
each directory. Remembered user choice always overrides provider
hinting.

Filter out recent documents that don't match requested MIME type, and
show recents in grid mode when picking images. Hide mode and sort
order in recents.

Add hinting flag for backend to indicate a directory would like to be
sorted by last modified. Include explicit root in DocumentStack and
clearly mark derived fields.

Bug: 10392047, 10608506
Change-Id: I2dd3a0e4112852ebf87e7dbb08b3781c86587dcf
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
724deeb5558a517471e9bf7168b456e6daec62f8 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
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
b6a7f2cd05f8c507dfac684aa4c693088e8c01c7 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
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
f339f25982d562e1690358eb6dc663b327960945 16-Aug-2013 Jeff Sharkey <jsharkey@android.com> Documents management mode; API adjustment.

Create documents manage mode to support Downloads and transient
storage devices. Locks user into requested backend root, and forces
file sizes on and sorting by last modified.

Separate API constants for Documents versus Roots, and give concrete
MIME types for roots.

Treat null sizes as unknown. Documents are always enabled in list
so that divider is drawn. Mark external storage file as writable.

Bug: 10329983, 10332993, 10332952
Change-Id: I05f4fdf5b04041a38e1ba7fb30202a3b0c615bf6
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
744dbbda62bd98b3610b195388ef2ba62253a6b9 08-Aug-2013 Jeff Sharkey <jsharkey@android.com> Better handling of broken storage providers.

Begin throwing FNFE when storage provider doesn't know about document
or when it's having trouble. Treat all provider errors as FNFE and
avoid crashing our UI.

Change-Id: I946f1ae4125791999464dc4ce494853d5d1c0629
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
761122118b2437aee3a44e9263b73766986c12b8 06-Aug-2013 Jeff Sharkey <jsharkey@android.com> Storage roots in fragment, sectioned.

Move storage roots into a fragment, since it's not a drawer on
tablets. Cluster and sort roots when displaying. SectionedListAdapter
to make clustered roots easier to manage. Add docs for root types.

Move roots cache into separate class to make it easier to share.

Change-Id: Ia0b92eade059e816324641f600c08026c0e268c9
/packages/apps/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java