Populate quick view intent w/ file uris.

Change-Id: Ie4f15b11be1939f8b71752505caa9d74ab9f9680
diff --git a/src/com/android/documentsui/DirectoryFragment.java b/src/com/android/documentsui/DirectoryFragment.java
index 9468cfd..7e6ec8b 100644
--- a/src/com/android/documentsui/DirectoryFragment.java
+++ b/src/com/android/documentsui/DirectoryFragment.java
@@ -89,6 +89,7 @@
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.android.documentsui.BaseActivity.DocumentContext;
 import com.android.documentsui.BaseActivity.State;
 import com.android.documentsui.MultiSelectManager.Selection;
 import com.android.documentsui.ProviderExecutor.Preemptable;
@@ -457,7 +458,7 @@
         final int docFlags = getCursorInt(cursor, Document.COLUMN_FLAGS);
         if (isDocumentEnabled(docMimeType, docFlags)) {
             final DocumentInfo doc = DocumentInfo.fromDirectoryCursor(cursor);
-            ((BaseActivity) getActivity()).onDocumentPicked(doc);
+            ((BaseActivity) getActivity()).onDocumentPicked(doc, mAdapter);
             mSelectionManager.clearSelection();
             return true;
         }
@@ -949,7 +950,8 @@
         }
     }
 
-    private final class DocumentsAdapter extends RecyclerView.Adapter<DocumentHolder> {
+    private final class DocumentsAdapter extends RecyclerView.Adapter<DocumentHolder>
+            implements DocumentContext {
 
         private final Context mContext;
         private final LayoutInflater mInflater;
@@ -1213,6 +1215,14 @@
             }
         }
 
+        @Override
+        public Cursor getCursor() {
+            if (Looper.myLooper() != Looper.getMainLooper()) {
+                throw new IllegalStateException("Can't call getCursor from non-main thread.");
+            }
+            return mCursor;
+        }
+
         private Cursor getItem(int position) {
             if (position < mCursorCount) {
                 mCursor.moveToPosition(position);