@Override public boolean onContextItemSelected(MenuItem item) { ContextMenuInfo menuInfo = item.getMenuInfo(); if (menuInfo == null) { return false; } View targetView = getTargetView(menuInfo); if (!(targetView instanceof HistoryItem)) { return false; } HistoryItem historyItem = (HistoryItem) targetView; String url = historyItem.getUrl(); String title = historyItem.getName(); Activity activity = getActivity(); switch (item.getItemId()) { case R.id.open_context_menu_id: mCallback.openUrl(url); return true; case R.id.new_window_context_menu_id: mCallback.openInNewTab(url); return true; case R.id.save_to_bookmarks_menu_id: if (historyItem.isBookmark()) { Bookmarks.removeFromBookmarks(activity, activity.getContentResolver(), url, title); } else { Browser.saveBookmark(activity, title, url); } return true; case R.id.share_link_context_menu_id: Browser.sendString( activity, url, activity.getText(R.string.choosertitle_sharevia).toString()); return true; case R.id.copy_url_context_menu_id: copy(url); return true; case R.id.delete_context_menu_id: Browser.deleteFromHistory(activity.getContentResolver(), url); return true; case R.id.homepage_context_menu_id: BrowserSettings.getInstance().setHomePage(url); BrowserSettings.getInstance().setHomePagePicker(GeneralPreferencesFragment.OTHER); Toast.makeText(activity, R.string.homepage_set, Toast.LENGTH_LONG).show(); return true; default: break; } return super.onContextItemSelected(item); }
@Override public boolean onContextItemSelected(MenuItem item) { // It is possible that the view has been canceled when we get to // this point as back has a higher priority if (mCanceled) { return true; } AdapterView.AdapterContextMenuInfo i = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); // If we have no menu info, we can't tell which item was selected. if (i == null) { return true; } switch (item.getItemId()) { case R.id.new_context_menu_id: saveCurrentPage(); break; case R.id.open_context_menu_id: loadUrl(i.position); break; case R.id.edit_context_menu_id: editBookmark(i.position); break; case R.id.shortcut_context_menu_id: final Intent send = createShortcutIntent(i.position); send.setAction(INSTALL_SHORTCUT); sendBroadcast(send); break; case R.id.delete_context_menu_id: if (mMostVisited) { Browser.deleteFromHistory(getContentResolver(), getUrl(i.position)); refreshList(); } else { displayRemoveBookmarkDialog(i.position); } break; case R.id.new_window_context_menu_id: openInNewWindow(i.position); break; case R.id.share_link_context_menu_id: BrowserActivity.sharePage( BrowserBookmarksPage.this, mBookmarksAdapter.getTitle(i.position), getUrl(i.position), getFavicon(i.position), mBookmarksAdapter.getScreenshot(i.position)); break; case R.id.copy_url_context_menu_id: copy(getUrl(i.position)); break; case R.id.homepage_context_menu_id: BrowserSettings.getInstance().setHomePage(this, getUrl(i.position)); Toast.makeText(this, R.string.homepage_set, Toast.LENGTH_LONG).show(); break; // Only for the Most visited page case R.id.save_to_bookmarks_menu_id: boolean isBookmark; String name; String url; if (mViewMode == BookmarkViewMode.GRID) { isBookmark = mBookmarksAdapter.getIsBookmark(i.position); name = mBookmarksAdapter.getTitle(i.position); url = mBookmarksAdapter.getUrl(i.position); } else { HistoryItem historyItem = ((HistoryItem) i.targetView); isBookmark = historyItem.isBookmark(); name = historyItem.getName(); url = historyItem.getUrl(); } // If the site is bookmarked, the item becomes remove from // bookmarks. if (isBookmark) { Bookmarks.removeFromBookmarks(this, getContentResolver(), url, name); } else { Browser.saveBookmark(this, name, url); } break; default: return super.onContextItemSelected(item); } return true; }