Initial bookmark drag & drop

 Currently can only re-parent (drop into folders, between accounts)
 Has no visual feedback yet either

Change-Id: If02c32a98a836c4567f274f1cb1654a25f469b0f
diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index 962d21c..448f881 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -16,6 +16,7 @@
 
 package com.android.browser;
 
+import com.android.browser.BookmarkDragHandler.BookmarkDragController;
 import com.android.browser.view.BookmarkExpandableGridView;
 import com.android.browser.view.BookmarkExpandableGridView.BookmarkContextMenuInfo;
 
@@ -101,6 +102,7 @@
     int mCurrentView;
     View mHeader;
     HashMap<Integer, BrowserBookmarksAdapter> mBookmarkAdapters = new HashMap<Integer, BrowserBookmarksAdapter>();
+    BookmarkDragHandler mDragHandler;
 
     static BrowserBookmarksPage newInstance(BookmarksPageCallbacks cb,
             Bundle args, ViewGroup headerContainer) {
@@ -351,6 +353,8 @@
         mList = (ListView) mRoot.findViewById(R.id.list);
         // TODO: mList.setOnItemClickListener(this);
         setEnableContextMenu(mEnableContextMenu);
+        mDragHandler = new BookmarkDragHandler(getActivity(), mDragController,
+                mGrid.getDragAdapter());
 
         // Start the loaders
         LoaderManager lm = getLoaderManager();
@@ -677,6 +681,14 @@
         }
     }
 
+    private BookmarkDragController mDragController = new BookmarkDragController() {
+
+        @Override
+        public boolean startDrag(Cursor item) {
+            return canEdit(item);
+        }
+    };
+
     private static class LookupBookmarkCount extends AsyncTask<Long, Void, Integer> {
         Context mContext;
         BookmarkItem mHeader;