summaryrefslogtreecommitdiffstats
path: root/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2013-08-15 11:24:03 -0700
committerJeff Sharkey <jsharkey@android.com>2013-08-15 14:14:48 -0700
commit54ca29a5b94c2edf461c5433825d4ae17469fd7c (patch)
treec6bb20d6e873c858dd131404f0c05a75ad552cf2 /packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
parent2241d45c68739e5bdf187ba3325ee237ef143e21 (diff)
downloadframeworks_base-54ca29a5b94c2edf461c5433825d4ae17469fd7c.zip
frameworks_base-54ca29a5b94c2edf461c5433825d4ae17469fd7c.tar.gz
frameworks_base-54ca29a5b94c2edf461c5433825d4ae17469fd7c.tar.bz2
DocumentsUI handles GET_CONTENT; hinting, errors.
Document browser now takes over all GET_CONTENT requests that request openable Uris. It shows both storage backends and includes other apps that respond to GET_CONTENT. Only grants transient read permissions. Better guarding against throwing storage backends. Send sort order and local-only hinting to backends. Require that OPEN/CREATE_DOC users include openable category. Bug: 10330112, 10329976, 10340741, 10331689, 10329971 Change-Id: Ieb8768a6d71201816046f4a4c48832061a313c28
Diffstat (limited to 'packages/DocumentsUI/src/com/android/documentsui/RootsCache.java')
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/RootsCache.java27
1 files changed, 16 insertions, 11 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
index b26db3b..ceab8fc 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
@@ -95,19 +95,24 @@ public class RootsCache {
sProviders.put(info.providerInfo.authority, info);
- // TODO: remove deprecated customRoots flag
- // TODO: populate roots on background thread, and cache results
- final Uri uri = DocumentsContract.buildRootsUri(providerInfo.authority);
- final Cursor cursor = context.getContentResolver()
- .query(uri, null, null, null, null);
try {
- while (cursor.moveToNext()) {
- final Root root = Root.fromCursor(context, info, cursor);
- sRoots.put(Pair.create(info.providerInfo.authority, root.rootId), root);
- sRootsList.add(root);
+ // TODO: remove deprecated customRoots flag
+ // TODO: populate roots on background thread, and cache results
+ final Uri uri = DocumentsContract.buildRootsUri(providerInfo.authority);
+ final Cursor cursor = context.getContentResolver()
+ .query(uri, null, null, null, null);
+ try {
+ while (cursor.moveToNext()) {
+ final Root root = Root.fromCursor(context, info, cursor);
+ sRoots.put(Pair.create(info.providerInfo.authority, root.rootId), root);
+ sRootsList.add(root);
+ }
+ } finally {
+ cursor.close();
}
- } finally {
- cursor.close();
+ } catch (Exception e) {
+ Log.w(TAG, "Failed to load some roots from " + info.providerInfo.authority
+ + ": " + e);
}
}
}