| Index: chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadFilter.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadFilter.java b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadFilter.java
|
| index 40387af4a4ec82f6ba8fda8641a0130fa74778f8..bafc31a86ec0785ec84d8417fbaf4a965dbc3def 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadFilter.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadFilter.java
|
| @@ -10,6 +10,8 @@ import org.chromium.base.Log;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.UrlConstants;
|
|
|
| +import java.util.Locale;
|
| +
|
| /**
|
| * A class holding constants and convenience methods about filters and their corresponding
|
| * resources.
|
| @@ -26,6 +28,11 @@ public class DownloadFilter {
|
| static final int FILTER_OTHER = 6;
|
| public static final int FILTER_BOUNDARY = 7;
|
|
|
| + private static final String MIMETYPE_VIDEO = "video";
|
| + private static final String MIMETYPE_AUDIO = "audio";
|
| + private static final String MIMETYPE_IMAGE = "image";
|
| + private static final String MIMETYPE_DOCUMENT = "text";
|
| +
|
| /**
|
| * Icons and labels for each filter in the menu.
|
| *
|
| @@ -91,4 +98,24 @@ public class DownloadFilter {
|
| }
|
| return result;
|
| }
|
| +
|
| + /** Identifies the type of file represented by the given MIME type string. */
|
| + public static int fromMimeType(String mimeType) {
|
| + if (TextUtils.isEmpty(mimeType)) return DownloadFilter.FILTER_OTHER;
|
| +
|
| + String[] pieces = mimeType.toLowerCase(Locale.getDefault()).split("/");
|
| + if (pieces.length != 2) return DownloadFilter.FILTER_OTHER;
|
| +
|
| + if (MIMETYPE_VIDEO.equals(pieces[0])) {
|
| + return DownloadFilter.FILTER_VIDEO;
|
| + } else if (MIMETYPE_AUDIO.equals(pieces[0])) {
|
| + return DownloadFilter.FILTER_AUDIO;
|
| + } else if (MIMETYPE_IMAGE.equals(pieces[0])) {
|
| + return DownloadFilter.FILTER_IMAGE;
|
| + } else if (MIMETYPE_DOCUMENT.equals(pieces[0])) {
|
| + return DownloadFilter.FILTER_DOCUMENT;
|
| + } else {
|
| + return DownloadFilter.FILTER_OTHER;
|
| + }
|
| + }
|
| }
|
|
|