Support horizontal swipe in combo activity

 Bug: 5145315

Change-Id: I1e9b4a6bae325244c7a3fb6159deadc3fcf170e6
diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index a03590b..46521cb 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -101,14 +101,6 @@
     HashMap<Integer, BrowserBookmarksAdapter> mBookmarkAdapters = new HashMap<Integer, BrowserBookmarksAdapter>();
     BookmarkDragHandler mDragHandler;
 
-    static BrowserBookmarksPage newInstance(BookmarksPageCallbacks cb,
-            Bundle args, ViewGroup headerContainer) {
-        BrowserBookmarksPage bbp = new BrowserBookmarksPage();
-        bbp.mCallbacks = cb;
-        bbp.setArguments(args);
-        return bbp;
-    }
-
     @Override
     public Loader<Cursor> onCreateLoader(int id, Bundle args) {
         if (id == LOADER_ACCOUNTS) {
@@ -295,9 +287,6 @@
             String url = cursor.getString(BookmarksLoader.COLUMN_INDEX_URL);
             item.setUrl(url);
             Bitmap bitmap = getBitmap(cursor, BookmarksLoader.COLUMN_INDEX_FAVICON);
-            if (bitmap == null) {
-                bitmap = CombinedBookmarkHistoryView.getIconListenerSet().getFavicon(url);
-            }
             item.setFavicon(bitmap);
         }
     }
@@ -311,8 +300,37 @@
         Bundle args = getArguments();
         mDisableNewWindow = args == null ? false : args.getBoolean(EXTRA_DISABLE_WINDOW, false);
         setHasOptionsMenu(true);
+        if (mCallbacks == null && getActivity() instanceof CombinedBookmarksCallbacks) {
+            mCallbacks = new CombinedBookmarksCallbackWrapper(
+                    (CombinedBookmarksCallbacks) getActivity());
+        }
     }
 
+    private static class CombinedBookmarksCallbackWrapper
+            implements BookmarksPageCallbacks {
+
+        private CombinedBookmarksCallbacks mCombinedCallback;
+
+        private CombinedBookmarksCallbackWrapper(CombinedBookmarksCallbacks cb) {
+            mCombinedCallback = cb;
+        }
+
+        @Override
+        public boolean onOpenInNewWindow(String... urls) {
+            mCombinedCallback.openInNewTab(urls);
+            return true;
+        }
+
+        @Override
+        public boolean onBookmarkSelected(Cursor c, boolean isFolder) {
+            if (isFolder) {
+                return false;
+            }
+            mCombinedCallback.openUrl(BrowserBookmarksPage.getUrl(c));
+            return true;
+        }
+    };
+
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
@@ -520,10 +538,6 @@
         loader.forceLoad();
     }
 
-    public boolean onBackPressed() {
-        return false;
-    }
-
     public void setCallbackListener(BookmarksPageCallbacks callbackListener) {
         mCallbacks = callbackListener;
     }