Loading src/com/android/documentsui/base/DocumentInfo.java +5 −0 Original line number Diff line number Diff line Loading @@ -217,6 +217,7 @@ public class DocumentInfo implements Durable, Parcelable { + ", isContainer=" + isContainer() + ", isDirectory=" + isDirectory() + ", isArchive=" + isArchive() + ", isInArchive=" + isInArchive() + ", isPartial=" + isPartial() + ", isVirtual=" + isVirtual() + ", isDeleteSupported=" + isDeleteSupported() Loading Loading @@ -254,6 +255,10 @@ public class DocumentInfo implements Durable, Parcelable { return ArchivesProvider.isSupportedArchiveType(mimeType); } public boolean isInArchive() { return ArchivesProvider.AUTHORITY.equals(authority); } public boolean isPartial() { return (flags & Document.FLAG_PARTIAL) != 0; } Loading src/com/android/documentsui/dirlist/Model.java +7 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.documentsui.dirlist; import static com.android.documentsui.base.DocumentInfo.getCursorInt; import static com.android.documentsui.base.DocumentInfo.getCursorString; import static com.android.documentsui.base.Shared.DEBUG; import static com.android.documentsui.base.Shared.VERBOSE; Loading @@ -32,6 +33,7 @@ import android.support.annotation.VisibleForTesting; import android.util.Log; import com.android.documentsui.DirectoryResult; import com.android.documentsui.archives.ArchivesProvider; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.EventListener; import com.android.documentsui.roots.RootCursorWrapper; Loading @@ -52,12 +54,14 @@ import java.util.function.Predicate; public class Model { /** * Filter that passes (returns true) all non-virtual, non-partial files. * Filter that passes (returns true) all non-virtual, non-partial files, not archived files. */ public static final Predicate<Cursor> CONCRETE_FILE_FILTER = (Cursor c) -> { int flags = DocumentInfo.getCursorInt(c, Document.COLUMN_FLAGS); int flags = getCursorInt(c, Document.COLUMN_FLAGS); String authority = getCursorString(c, RootCursorWrapper.COLUMN_AUTHORITY); return (flags & Document.FLAG_VIRTUAL_DOCUMENT) == 0 && (flags & Document.FLAG_PARTIAL) == 0; && (flags & Document.FLAG_PARTIAL) == 0 && !ArchivesProvider.AUTHORITY.equals(authority); }; private static final Predicate<Cursor> ANY_FILE_FILTER = (Cursor c) -> true; Loading src/com/android/documentsui/files/ActionHandler.java +5 −0 Original line number Diff line number Diff line Loading @@ -434,6 +434,11 @@ public class ActionHandler<T extends Activity & Addons> extends AbstractActionHa return false; } if (doc.isInArchive()) { Log.w(TAG, "Can't view archived files."); return false; } if (doc.isContainer()) { openContainerDocument(doc); return true; Loading Loading
src/com/android/documentsui/base/DocumentInfo.java +5 −0 Original line number Diff line number Diff line Loading @@ -217,6 +217,7 @@ public class DocumentInfo implements Durable, Parcelable { + ", isContainer=" + isContainer() + ", isDirectory=" + isDirectory() + ", isArchive=" + isArchive() + ", isInArchive=" + isInArchive() + ", isPartial=" + isPartial() + ", isVirtual=" + isVirtual() + ", isDeleteSupported=" + isDeleteSupported() Loading Loading @@ -254,6 +255,10 @@ public class DocumentInfo implements Durable, Parcelable { return ArchivesProvider.isSupportedArchiveType(mimeType); } public boolean isInArchive() { return ArchivesProvider.AUTHORITY.equals(authority); } public boolean isPartial() { return (flags & Document.FLAG_PARTIAL) != 0; } Loading
src/com/android/documentsui/dirlist/Model.java +7 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.documentsui.dirlist; import static com.android.documentsui.base.DocumentInfo.getCursorInt; import static com.android.documentsui.base.DocumentInfo.getCursorString; import static com.android.documentsui.base.Shared.DEBUG; import static com.android.documentsui.base.Shared.VERBOSE; Loading @@ -32,6 +33,7 @@ import android.support.annotation.VisibleForTesting; import android.util.Log; import com.android.documentsui.DirectoryResult; import com.android.documentsui.archives.ArchivesProvider; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.EventListener; import com.android.documentsui.roots.RootCursorWrapper; Loading @@ -52,12 +54,14 @@ import java.util.function.Predicate; public class Model { /** * Filter that passes (returns true) all non-virtual, non-partial files. * Filter that passes (returns true) all non-virtual, non-partial files, not archived files. */ public static final Predicate<Cursor> CONCRETE_FILE_FILTER = (Cursor c) -> { int flags = DocumentInfo.getCursorInt(c, Document.COLUMN_FLAGS); int flags = getCursorInt(c, Document.COLUMN_FLAGS); String authority = getCursorString(c, RootCursorWrapper.COLUMN_AUTHORITY); return (flags & Document.FLAG_VIRTUAL_DOCUMENT) == 0 && (flags & Document.FLAG_PARTIAL) == 0; && (flags & Document.FLAG_PARTIAL) == 0 && !ArchivesProvider.AUTHORITY.equals(authority); }; private static final Predicate<Cursor> ANY_FILE_FILTER = (Cursor c) -> true; Loading
src/com/android/documentsui/files/ActionHandler.java +5 −0 Original line number Diff line number Diff line Loading @@ -434,6 +434,11 @@ public class ActionHandler<T extends Activity & Addons> extends AbstractActionHa return false; } if (doc.isInArchive()) { Log.w(TAG, "Can't view archived files."); return false; } if (doc.isContainer()) { openContainerDocument(doc); return true; Loading