use of org.mozilla.focus.history.model.DateSection in project Rocket by mozilla-tw.
the class ScreenshotItemAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
if (holder instanceof GirdItemViewHolder) {
final GirdItemViewHolder gridVH = (GirdItemViewHolder) holder;
gridVH.rootView.setOnClickListener(this);
final Screenshot item = (Screenshot) mItems.get(position);
GlideApp.with(mActivity).asBitmap().placeholder(R.drawable.placeholder).fitCenter().load(item.getImageUri()).into(gridVH.img);
} else if (holder instanceof DateItemViewHolder) {
final DateSection item = (DateSection) mItems.get(position);
if (item != null) {
final DateItemViewHolder dateVH = (DateItemViewHolder) holder;
dateVH.textDate.setText(DateUtils.getRelativeTimeSpanString(item.getTimestamp(), System.currentTimeMillis(), DateUtils.DAY_IN_MILLIS));
}
}
}
use of org.mozilla.focus.history.model.DateSection in project Rocket by mozilla-tw.
the class HistoryItemAdapter method add.
private void add(Object item) {
if (mItems.size() > 0 && isSameDay(((Site) mItems.get(mItems.size() - 1)).getLastViewTimestamp(), ((Site) item).getLastViewTimestamp())) {
mItems.add(item);
notifyItemInserted(mItems.size());
} else {
mItems.add(new DateSection(((Site) item).getLastViewTimestamp()));
mItems.add(item);
notifyItemRangeInserted(mItems.size() - 2, 2);
}
++mCurrentCount;
}
use of org.mozilla.focus.history.model.DateSection in project Rocket by mozilla-tw.
the class HistoryItemAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
if (holder instanceof SiteItemViewHolder) {
final Site item = (Site) mItems.get(position);
if (item != null) {
final SiteItemViewHolder siteVH = (SiteItemViewHolder) holder;
siteVH.rootView.setOnClickListener(this);
siteVH.textMain.setText(item.getTitle());
siteVH.textSecondary.setText(item.getUrl());
String favIconUri = item.getFavIconUri();
if (favIconUri != null) {
Glide.with(siteVH.imgFav.getContext()).asBitmap().load(favIconUri).into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap resource, Transition<? super Bitmap> transition) {
if (DimenUtils.iconTooBlurry(siteVH.imgFav.getResources(), resource.getWidth())) {
setImageViewWithDefaultBitmap(siteVH.imgFav, item.getUrl());
} else {
siteVH.imgFav.setImageBitmap(resource);
}
}
});
} else {
setImageViewWithDefaultBitmap(siteVH.imgFav, item.getUrl());
}
final PopupMenu popupMenu = new PopupMenu(mContext, siteVH.btnMore);
popupMenu.setOnMenuItemClickListener(menuItem -> {
if (menuItem.getItemId() == R.id.browsing_history_menu_delete) {
BrowsingHistoryManager.getInstance().delete(item.getId(), HistoryItemAdapter.this);
TelemetryWrapper.historyRemoveLink();
// Delete favicon
String uriString = item.getFavIconUri();
if (uriString == null) {
return false;
}
final URI fileUri;
try {
fileUri = new URI(uriString);
} catch (URISyntaxException e) {
e.printStackTrace();
return false;
}
final Runnable runnable = new FileUtils.DeleteFileRunnable(new File(fileUri));
ThreadUtils.postToBackgroundThread(runnable);
}
return false;
});
popupMenu.inflate(R.menu.menu_browsing_history_option);
siteVH.btnMore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
popupMenu.show();
TelemetryWrapper.showHistoryContextMenu();
}
});
}
} else if (holder instanceof DateItemViewHolder) {
final DateSection item = (DateSection) mItems.get(position);
if (item != null) {
final DateItemViewHolder dateVH = (DateItemViewHolder) holder;
dateVH.textDate.setText(DateUtils.getRelativeTimeSpanString(item.getTimestamp(), System.currentTimeMillis(), DateUtils.DAY_IN_MILLIS));
}
}
}
use of org.mozilla.focus.history.model.DateSection in project Rocket by mozilla-tw.
the class ScreenshotItemAdapter method add.
private void add(Object item) {
if (mItems.size() > 0 && isSameDay(((Screenshot) mItems.get(mItems.size() - 1)).getTimestamp(), ((Screenshot) item).getTimestamp())) {
mItems.add(item);
notifyItemInserted(mItems.size());
} else {
mItems.add(new DateSection(((Screenshot) item).getTimestamp()));
mItems.add(item);
notifyItemRangeInserted(mItems.size() - 2, 2);
}
++mCurrentCount;
}
Aggregations