summaryrefslogtreecommitdiffstats
path: root/packages/DocumentsUI/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/DocumentsUI/src')
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java6
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java2
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/IconUtils.java3
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/RootsCache.java12
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java23
5 files changed, 36 insertions, 10 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
index ba47037..ba464f7 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
@@ -477,13 +477,11 @@ public class DirectoryFragment extends Fragment {
if (extras != null) {
final String info = extras.getString(DocumentsContract.EXTRA_INFO);
if (info != null) {
- mFooters.add(new MessageFooter(
- com.android.internal.R.drawable.ic_menu_info_details, info));
+ mFooters.add(new MessageFooter(R.drawable.ic_dialog_alert, info));
}
final String error = extras.getString(DocumentsContract.EXTRA_ERROR);
if (error != null) {
- mFooters.add(new MessageFooter(
- com.android.internal.R.drawable.ic_dialog_alert, error));
+ mFooters.add(new MessageFooter(R.drawable.ic_dialog_alert, error));
}
if (extras.getBoolean(DocumentsContract.EXTRA_LOADING, false)) {
mFooters.add(new LoadingFooter());
diff --git a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java
index 8715055..e1f2606 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java
@@ -104,7 +104,7 @@ public class DocumentsActivity extends Activity {
R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close);
mDrawerLayout.setDrawerListener(mDrawerListener);
- mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
+ mDrawerLayout.setDrawerShadow(R.drawable.ic_drawer_shadow, GravityCompat.START);
if (icicle != null) {
mState = icicle.getParcelable(EXTRA_STATE);
diff --git a/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java b/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
index b5b1033..5caf9ba 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
@@ -210,7 +210,8 @@ public class IconUtils {
final Resources res = context.getResources();
if (Document.MIME_TYPE_DIR.equals(mimeType)) {
- return res.getDrawable(R.drawable.ic_dir);
+ // TODO: return a mipmap, since this is used for grid
+ return res.getDrawable(R.drawable.ic_root_folder);
}
// Look for exact match first
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;
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
index 75baa0a..a6ddf70 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
@@ -26,6 +26,7 @@ import android.graphics.drawable.Drawable;
import android.provider.DocumentsContract.Root;
import com.android.documentsui.IconUtils;
+import com.android.documentsui.R;
import java.util.Objects;
@@ -38,6 +39,7 @@ public class RootInfo {
public int rootType;
public int flags;
public int icon;
+ public int localIcon;
public String title;
public String summary;
public String documentId;
@@ -59,11 +61,30 @@ public class RootInfo {
final String raw = getCursorString(cursor, Root.COLUMN_MIME_TYPES);
root.mimeTypes = (raw != null) ? raw.split("\n") : null;
+ // TODO: remove these special case icons
+ if ("com.android.externalstorage.documents".equals(authority)) {
+ root.localIcon = R.drawable.ic_root_sdcard;
+ }
+ if ("com.android.providers.downloads.documents".equals(authority)) {
+ root.localIcon = R.drawable.ic_root_download;
+ }
+ if ("com.android.providers.media.documents".equals(authority)) {
+ if ("image".equals(root.rootId)) {
+ root.localIcon = R.drawable.ic_doc_image;
+ } else if ("audio".equals(root.rootId)) {
+ root.localIcon = R.drawable.ic_doc_audio;
+ }
+ }
+
return root;
}
public Drawable loadIcon(Context context) {
- return IconUtils.loadPackageIcon(context, authority, icon);
+ if (localIcon != 0) {
+ return context.getResources().getDrawable(localIcon);
+ } else {
+ return IconUtils.loadPackageIcon(context, authority, icon);
+ }
}
@Override