78b137030864c028920046a38b5a040f5920fddf |
|
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
/frameworks/base/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
|
d01571e6d4e1c403534e19142720530d324eac9b |
|
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
/frameworks/base/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
|
7aa7601c09ab5d87cc15a0ed9a8f511d494a4cbc |
|
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
/frameworks/base/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
|
6efba22ce510352bb84910d6efc42fecafd31ed7 |
|
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
/frameworks/base/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
|
deffadeb7485e8660ecce12822e259d96fa06dce |
|
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
/frameworks/base/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
|
d182bb641f228b2d28527a6aa86075f6358ab838 |
|
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
/frameworks/base/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.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/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.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/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
|
a5599ef636e37cb0b6474349936999be1afe6987 |
|
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
/frameworks/base/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
|
0c2d31bfa113c2848620ac05c916802410b71da1 |
|
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
/frameworks/base/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
|
66516697a29cf00d93893a1011d3befc7c1ee37f |
|
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
/frameworks/base/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java
|