Пример #1
0
  public boolean handleItemClick(int groupPosition, int childPosition) {
    HistoryListAdapter adapter = getCursorAdapter();
    if (adapter == null) return false;

    @SuppressWarnings("unchecked")
    Map<String, Object> historyItem =
        (Map<String, Object>) adapter.getChild(groupPosition, childPosition);

    String url = (String) historyItem.get(URLColumns.URL);
    String title = (String) historyItem.get(URLColumns.TITLE);
    AwesomeBarTabs.OnUrlOpenListener listener = getUrlListener();
    if (!TextUtils.isEmpty(url) && listener != null) listener.onUrlOpen(url, title);

    return true;
  }
Пример #2
0
    @Override
    public View getChildView(
        int groupPosition,
        int childPosition,
        boolean isLastChild,
        View convertView,
        ViewGroup parent) {
      AwesomeEntryViewHolder viewHolder = null;

      if (convertView == null) {
        convertView = getInflater().inflate(R.layout.awesomebar_row, null);

        viewHolder = new AwesomeEntryViewHolder();
        viewHolder.titleView = (TextView) convertView.findViewById(R.id.title);
        viewHolder.urlView = (TextView) convertView.findViewById(R.id.url);
        viewHolder.faviconView = (ImageView) convertView.findViewById(R.id.favicon);
        viewHolder.bookmarkIconView = (ImageView) convertView.findViewById(R.id.bookmark_icon);

        convertView.setTag(viewHolder);
      } else {
        viewHolder = (AwesomeEntryViewHolder) convertView.getTag();
      }

      HistoryListAdapter adapter = getCursorAdapter();
      if (adapter == null) return null;

      @SuppressWarnings("unchecked")
      Map<String, Object> historyItem =
          (Map<String, Object>) adapter.getChild(groupPosition, childPosition);

      String title = (String) historyItem.get(URLColumns.TITLE);
      String url = (String) historyItem.get(URLColumns.URL);

      if (TextUtils.isEmpty(title)) title = url;

      viewHolder.titleView.setText(title);
      viewHolder.urlView.setText(url);

      byte[] b = (byte[]) historyItem.get(URLColumns.FAVICON);
      Bitmap favicon = null;

      if (b != null) {
        Bitmap bitmap = BitmapFactory.decodeByteArray(b, 0, b.length);
        if (bitmap != null && bitmap.getWidth() > 0 && bitmap.getHeight() > 0) {
          favicon = Favicons.getInstance().scaleImage(bitmap);
        }
      }
      updateFavicon(viewHolder.faviconView, favicon);

      Integer bookmarkId = (Integer) historyItem.get(Combined.BOOKMARK_ID);
      Integer display = (Integer) historyItem.get(Combined.DISPLAY);

      // The bookmark id will be 0 (null in database) when the url
      // is not a bookmark. Reading list items are irrelevant in history
      // tab. We should never show any sign or them.
      int visibility =
          (bookmarkId != 0 && display != Combined.DISPLAY_READER ? View.VISIBLE : View.GONE);

      viewHolder.bookmarkIconView.setVisibility(visibility);
      viewHolder.bookmarkIconView.setImageResource(R.drawable.ic_awesomebar_star);

      return convertView;
    }