diff options
| author | Jeff Sharkey <jsharkey@android.com> | 2013-09-06 10:43:45 -0700 |
|---|---|---|
| committer | Jeff Sharkey <jsharkey@android.com> | 2013-09-06 10:46:54 -0700 |
| commit | 6d97d3c1a2ebac4e3f32c7e5bc134864ace1c17f (patch) | |
| tree | 0095bc600df69f008cf3f6b1717c169a4bfef87d /packages/DocumentsUI/src/com/android/documentsui/RootsCache.java | |
| parent | 911d7f411f36f2279aae44c89ff1d33a29140046 (diff) | |
| download | frameworks_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.java | 12 |
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; } |
