Index: chrome/android/java/src/org/chromium/chrome/browser/photo_picker/AcceptFileFilter.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/AcceptFileFilter.java b/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/AcceptFileFilter.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a08a1ab934a6ae49885dcd9039f664673dc9bf95 |
--- /dev/null |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/AcceptFileFilter.java |
@@ -0,0 +1,38 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chrome.browser.photo_picker; |
+ |
+import android.support.annotation.NonNull; |
+ |
+import java.io.File; |
+import java.io.FileFilter; |
+ |
+/** |
+ * Base class for FileFilters used when selection photos. |
+ */ |
+public abstract class AcceptFileFilter implements FileFilter { |
+ private static AcceptFileFilter sDefaultSingleton = null; |
+ |
+ @NonNull |
+ public static AcceptFileFilter getDefault() { |
+ if (sDefaultSingleton == null) { |
+ sDefaultSingleton = new DefaultAcceptFileFilter(); |
+ } |
+ return sDefaultSingleton; |
+ } |
+ |
+ @NonNull |
+ public static AcceptFileFilter forAttr(@NonNull String acceptAttr) { |
+ return new AttrAcceptFileFilter(acceptAttr); |
+ } |
+ |
+ public abstract boolean accept(@NonNull File file); |
+ |
+ public abstract boolean acceptsImages(); |
+ |
+ public abstract boolean acceptsVideos(); |
+ |
+ public abstract boolean acceptsOther(); |
+} |