summaryrefslogtreecommitdiffstats
path: root/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2013-09-06 10:43:45 -0700
committerJeff Sharkey <jsharkey@android.com>2013-09-06 10:46:54 -0700
commit6d97d3c1a2ebac4e3f32c7e5bc134864ace1c17f (patch)
tree0095bc600df69f008cf3f6b1717c169a4bfef87d /packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
parent911d7f411f36f2279aae44c89ff1d33a29140046 (diff)
downloadframeworks_base-6d97d3c1a2ebac4e3f32c7e5bc134864ace1c17f.zip
frameworks_base-6d97d3c1a2ebac4e3f32c7e5bc134864ace1c17f.tar.gz
frameworks_base-6d97d3c1a2ebac4e3f32c7e5bc134864ace1c17f.tar.bz2
Another asset drop, provider icons, tests.
Latest asset update, including provider icons which are treated as special cases for now instead of checking into separate apps. Add tests for MIME type matching of roots. Remove unused XML. Bug: 10510022 Change-Id: Id567a9e06ba241f60ac011823e550253c6c797fb
Diffstat (limited to 'packages/DocumentsUI/src/com/android/documentsui/RootsCache.java')
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/RootsCache.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
index d192378..d4f1b39 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
@@ -72,7 +72,7 @@ public class RootsCache {
// Create special root for recents
final RootInfo root = new RootInfo();
root.rootType = Root.ROOT_TYPE_SHORTCUT;
- root.icon = R.drawable.ic_dir;
+ root.icon = R.drawable.ic_root_recent;
root.flags = Root.FLAG_LOCAL_ONLY | Root.FLAG_SUPPORTS_CREATE;
root.title = mContext.getString(R.string.root_recent);
root.availableBytes = -1;
@@ -151,8 +151,12 @@ public class RootsCache {
@GuardedBy("ActivityThread")
public List<RootInfo> getMatchingRoots(State state) {
+ return getMatchingRoots(mRoots, state);
+ }
+
+ public static List<RootInfo> getMatchingRoots(List<RootInfo> roots, State state) {
ArrayList<RootInfo> matching = Lists.newArrayList();
- for (RootInfo root : mRoots) {
+ for (RootInfo root : roots) {
final boolean supportsCreate = (root.flags & Root.FLAG_SUPPORTS_CREATE) != 0;
final boolean advanced = (root.flags & Root.FLAG_ADVANCED) != 0;
final boolean localOnly = (root.flags & Root.FLAG_LOCAL_ONLY) != 0;
@@ -165,7 +169,9 @@ public class RootsCache {
if (state.localOnly && !localOnly) continue;
// Only include roots that serve requested content
- if (!MimePredicate.mimeMatches(root.mimeTypes, state.acceptMimes)) {
+ final boolean overlap = MimePredicate.mimeMatches(root.mimeTypes, state.acceptMimes)
+ || MimePredicate.mimeMatches(state.acceptMimes, root.mimeTypes);
+ if (!overlap) {
continue;
}