summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/CombinedBookmarkHistoryView.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/browser/CombinedBookmarkHistoryView.java')
-rw-r--r--src/com/android/browser/CombinedBookmarkHistoryView.java297
1 files changed, 0 insertions, 297 deletions
diff --git a/src/com/android/browser/CombinedBookmarkHistoryView.java b/src/com/android/browser/CombinedBookmarkHistoryView.java
deleted file mode 100644
index 86afe1e..0000000
--- a/src/com/android/browser/CombinedBookmarkHistoryView.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.browser;
-
-
-import android.app.ActionBar;
-import android.app.ActionBar.Tab;
-import android.app.ActionBar.TabListener;
-import android.app.Activity;
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
-import android.content.res.Configuration;
-import android.database.Cursor;
-import android.graphics.Bitmap;
-import android.os.Bundle;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.View.OnTouchListener;
-import android.view.ViewGroup;
-import android.webkit.WebIconDatabase.IconListener;
-import android.widget.FrameLayout;
-import android.widget.LinearLayout;
-
-import com.android.browser.UI.ComboViews;
-
-import java.util.HashMap;
-import java.util.Vector;
-
-public class CombinedBookmarkHistoryView extends LinearLayout
- implements OnTouchListener, TabListener {
-
- final static String STARTING_FRAGMENT = "fragment";
-
- final static int INVALID_ID = 0;
- final static int FRAGMENT_ID_BOOKMARKS = 1;
- final static int FRAGMENT_ID_HISTORY = 2;
- final static int FRAGMENT_ID_SNAPSHOTS = 3;
-
- private ActionBar mActionBar;
- private FragmentManager mFragmentManager;
-
- private Bundle mExtras;
-
- int mCurrentFragment = INVALID_ID;
-
- ActionBar.Tab mTabBookmarks;
- ActionBar.Tab mTabHistory;
- ActionBar.Tab mTabSnapshots;
- ViewGroup mBookmarksHeader;
-
- BrowserBookmarksPage mBookmarks;
- BrowserHistoryPage mHistory;
- BrowserSnapshotPage mSnapshots;
- CombinedBookmarksCallbacks mCallback;
-
- public static interface CombinedBookmarksCallbacks {
- void openUrl(String url);
- void openInNewTab(String... urls);
- void openSnapshot(long id);
- void close();
- }
-
- static class IconListenerSet implements IconListener {
- // Used to store favicons as we get them from the database
- // FIXME: We use a different method to get the Favicons in
- // BrowserBookmarksAdapter. They should probably be unified.
- private HashMap<String, Bitmap> mUrlsToIcons;
- private Vector<IconListener> mListeners;
-
- public IconListenerSet() {
- mUrlsToIcons = new HashMap<String, Bitmap>();
- mListeners = new Vector<IconListener>();
- }
- @Override
- public void onReceivedIcon(String url, Bitmap icon) {
- mUrlsToIcons.put(url, icon);
- for (IconListener listener : mListeners) {
- listener.onReceivedIcon(url, icon);
- }
- }
- public void addListener(IconListener listener) {
- mListeners.add(listener);
- }
- public void removeListener(IconListener listener) {
- mListeners.remove(listener);
- }
- public Bitmap getFavicon(String url) {
- return mUrlsToIcons.get(url);
- }
- }
-
- private static IconListenerSet sIconListenerSet;
- static IconListenerSet getIconListenerSet() {
- if (null == sIconListenerSet) {
- sIconListenerSet = new IconListenerSet();
- }
- return sIconListenerSet;
- }
-
- public CombinedBookmarkHistoryView(Activity activity,
- CombinedBookmarksCallbacks cb, ComboViews startingView,
- Bundle extras) {
- super(activity);
- mExtras = extras;
- mActionBar = activity.getActionBar();
- mCallback = cb;
- mFragmentManager = activity.getFragmentManager();
-
- View v = LayoutInflater.from(activity).inflate(R.layout.bookmarks_history, this);
- v.setOnTouchListener(this);
-
- mBookmarksHeader = new FrameLayout(activity);
- mBookmarksHeader.setLayoutParams(new FrameLayout.LayoutParams(
- FrameLayout.LayoutParams.WRAP_CONTENT,
- FrameLayout.LayoutParams.MATCH_PARENT,
- Gravity.CENTER_VERTICAL));
-
- // Start up the default fragment
- initFragments(mExtras);
-
- setupActionBar(startingView);
- }
-
- void setupActionBar(ComboViews startingView) {
- if (BrowserActivity.isTablet(mContext)) {
- mActionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME
- | ActionBar.DISPLAY_USE_LOGO);
- } else {
- mActionBar.setDisplayOptions(0);
- }
- mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
- mActionBar.removeAllTabs();
- mTabBookmarks = mActionBar.newTab();
- mTabBookmarks.setText(R.string.tab_bookmarks);
- mTabBookmarks.setTabListener(this);
- mActionBar.addTab(mTabBookmarks, ComboViews.Bookmarks == startingView);
- mTabHistory = mActionBar.newTab();
- mTabHistory.setText(R.string.tab_history);
- mTabHistory.setTabListener(this);
- mActionBar.addTab(mTabHistory, ComboViews.History == startingView);
- mTabSnapshots = mActionBar.newTab();
- mTabSnapshots.setText(R.string.tab_snapshots);
- mTabSnapshots.setTabListener(this);
- mActionBar.addTab(mTabSnapshots, ComboViews.Snapshots == startingView);
- mActionBar.setCustomView(mBookmarksHeader);
- mActionBar.show();
- }
-
- void tearDownActionBar() {
- if (mActionBar != null) {
- mActionBar.removeAllTabs();
- mTabBookmarks.setTabListener(null);
- mTabHistory.setTabListener(null);
- mTabSnapshots.setTabListener(null);
- mTabBookmarks = null;
- mTabHistory = null;
- mTabSnapshots = null;
- mActionBar = null;
- }
- }
-
- @Override
- protected void onConfigurationChanged(Configuration newConfig) {
- super.onConfigurationChanged(newConfig);
- if (mCurrentFragment == FRAGMENT_ID_HISTORY) {
- // Warning, ugly hack below
- // This is done because history uses orientation-specific padding
- mHistory = BrowserHistoryPage.newInstance(mCallback, mHistory.getArguments());
- mFragmentManager.beginTransaction().replace(R.id.fragment, mHistory).commit();
- }
- }
-
- private BookmarksPageCallbacks mBookmarkCallbackWrapper = new BookmarksPageCallbacks() {
- @Override
- public boolean onOpenInNewWindow(String... urls) {
- mCallback.openInNewTab(urls);
- return true;
- }
-
- @Override
- public boolean onBookmarkSelected(Cursor c, boolean isFolder) {
- if (isFolder) {
- return false;
- }
- mCallback.openUrl(BrowserBookmarksPage.getUrl(c));
- return true;
- }
- };
-
- private void initFragments(Bundle extras) {
- mBookmarks = BrowserBookmarksPage.newInstance(mBookmarkCallbackWrapper,
- extras, mBookmarksHeader);
- mHistory = BrowserHistoryPage.newInstance(mCallback, extras);
- mSnapshots = BrowserSnapshotPage.newInstance(mCallback, extras);
- }
-
- private void loadFragment(int id, FragmentTransaction ft) {
- if (mCurrentFragment == id) return;
-
- switch (id) {
- case FRAGMENT_ID_BOOKMARKS:
- ft.replace(R.id.fragment, mBookmarks);
- break;
- case FRAGMENT_ID_HISTORY:
- ft.replace(R.id.fragment, mHistory);
- break;
- case FRAGMENT_ID_SNAPSHOTS:
- ft.replace(R.id.fragment, mSnapshots);
- break;
- default:
- throw new IllegalArgumentException();
- }
- mCurrentFragment = id;
- }
-
- @Override
- protected void onDetachedFromWindow() {
- super.onDetachedFromWindow();
- tearDownActionBar();
- if (mCurrentFragment != INVALID_ID) {
- try {
- FragmentTransaction transaction = mFragmentManager.beginTransaction();
- if (mCurrentFragment == FRAGMENT_ID_BOOKMARKS) {
- transaction.remove(mBookmarks);
- } else if (mCurrentFragment == FRAGMENT_ID_HISTORY) {
- transaction.remove(mHistory);
- } else if (mCurrentFragment == FRAGMENT_ID_SNAPSHOTS) {
- transaction.remove(mSnapshots);
- }
- transaction.commit();
- } catch (IllegalStateException ex) {
- // This exception is thrown if the fragment isn't added
- // This will happen if the activity is finishing, and the
- // fragment was already removed before this view was detached
- // Aka, success!
- }
- mCurrentFragment = INVALID_ID;
- }
- }
-
- /**
- * callback for back key presses
- */
- boolean onBackPressed() {
- if (mCurrentFragment == FRAGMENT_ID_BOOKMARKS) {
- return mBookmarks.onBackPressed();
- }
- return false;
- }
-
- /**
- * capture touch events to prevent them from going to the underlying
- * WebView
- */
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- return true;
- }
-
- @Override
- public void onTabReselected(Tab tab, FragmentTransaction ft) {
- // Ignore
- }
-
- @Override
- public void onTabSelected(Tab tab, FragmentTransaction ft) {
- if (tab == mTabBookmarks) {
- loadFragment(FRAGMENT_ID_BOOKMARKS, ft);
- } else if (tab == mTabHistory) {
- loadFragment(FRAGMENT_ID_HISTORY, ft);
- } else if (tab == mTabSnapshots) {
- loadFragment(FRAGMENT_ID_SNAPSHOTS, ft);
- }
- }
-
- @Override
- public void onTabUnselected(Tab tab, FragmentTransaction ft) {
- // Ignore
- }
-
-}