public static void updateViewHolder(final ViewHolder holder, final Geocache cache, final Resources res) {
        if (cache.isFound() && cache.hasLogOffline()) {
            holder.binding.logStatusMark.setImageResource(R.drawable.mark_green_orange);
        } else if (cache.isFound()) {
            holder.binding.logStatusMark.setImageResource(R.drawable.mark_green_more);
        } else if (cache.hasLogOffline()) {
            holder.binding.logStatusMark.setImageResource(R.drawable.mark_orange);
        } else if (cache.isDNF()) {
            holder.binding.logStatusMark.setImageResource(R.drawable.mark_red);
        } else {
            holder.binding.logStatusMark.setImageResource(R.drawable.mark_transparent);
        }
        holder.binding.textIcon.setImageDrawable(MapMarkerUtils.getCacheMarker(res, cache, holder.cacheListType, Settings.getIconScaleEverywhere()).getDrawable());
    }
Apply a new filter to the adapter (e.g. after filter was changed by user in menu)
main/src/main/java/cgeo/geocaching/ui/CacheListAdapter.java