Exemplo n.º 1
0
 @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;
  }