Fixed drawable tinting bug in geofavs list
This commit is contained in:
@ -109,7 +109,7 @@ public class GeofavoriteAdapter extends RecyclerView.Adapter<GeofavoriteAdapter.
|
||||
Geofavorite geofavorite = geofavoriteListFiltered.get(position);
|
||||
|
||||
holder.tv_category.setText(geofavorite.categoryLetter());
|
||||
holder.tv_category_background.setTint(
|
||||
holder.setCategoryColor(
|
||||
geofavorite.categoryColor() == 0 ? context.getColor(R.color.defaultBrand) : geofavorite.categoryColor());
|
||||
holder.tv_title.setText(Html.fromHtml(geofavorite.getName()));
|
||||
holder.tv_content.setText(geofavorite.getComment());
|
||||
@ -164,7 +164,6 @@ public class GeofavoriteAdapter extends RecyclerView.Adapter<GeofavoriteAdapter.
|
||||
TextView tv_category, tv_title, tv_content, tv_date;
|
||||
ImageView bt_context_menu;
|
||||
ImageView bt_nav;
|
||||
Drawable tv_category_background;
|
||||
|
||||
ItemClickListener itemClickListener;
|
||||
|
||||
@ -178,7 +177,6 @@ public class GeofavoriteAdapter extends RecyclerView.Adapter<GeofavoriteAdapter.
|
||||
tv_date = itemView.findViewById(R.id.date);
|
||||
bt_context_menu = itemView.findViewById(R.id.geofav_context_menu_bt);
|
||||
bt_nav = itemView.findViewById(R.id.geofav_nav_bt);
|
||||
tv_category_background = DrawableCompat.wrap(tv_category.getBackground());
|
||||
|
||||
this.itemClickListener = itemClickListener;
|
||||
itemView.setOnClickListener(this);
|
||||
@ -191,19 +189,26 @@ public class GeofavoriteAdapter extends RecyclerView.Adapter<GeofavoriteAdapter.
|
||||
public void onClick(View view) {
|
||||
switch (view.getId()) {
|
||||
case R.id.geofav_context_menu_bt:
|
||||
onOverflowIconClicked(view, getAdapterPosition());
|
||||
onOverflowIconClicked(view, getBindingAdapterPosition());
|
||||
break;
|
||||
case R.id.geofav_nav_bt:
|
||||
if (itemClickListener != null)
|
||||
itemClickListener.onItemNavClick(get(getAdapterPosition()));
|
||||
itemClickListener.onItemNavClick(get(getBindingAdapterPosition()));
|
||||
break;
|
||||
default:
|
||||
if (itemClickListener != null)
|
||||
itemClickListener.onItemClick(get(getAdapterPosition()));
|
||||
itemClickListener.onItemClick(get(getBindingAdapterPosition()));
|
||||
}
|
||||
}
|
||||
|
||||
public void setCategoryColor(int ccTint) {
|
||||
Drawable bg = DrawableCompat.wrap(this.tv_category.getContext().getDrawable(R.drawable.ic_list_pin));
|
||||
this.tv_category.setBackground(bg);
|
||||
DrawableCompat.setTint(bg, ccTint);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void performSort() {
|
||||
if (sortRule == SORT_BY_TITLE) {
|
||||
Collections.sort(geofavoriteListFiltered, Geofavorite.ByTitleAZ);
|
||||
|
@ -197,7 +197,7 @@ public class Geofavorite implements Serializable {
|
||||
* @see "https://github.com/nextcloud/maps/blob/master/src/utils.js"
|
||||
* @return the generated color or null for the default category
|
||||
*/
|
||||
public int categoryColor() {
|
||||
public int categoryColor() {
|
||||
// If category is default, return null: will be used Nextcloud's accent
|
||||
if (this.category.equals(DEFAULT_CATEGORY))
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user