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; }
@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; }