diff options
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui/adapter/ListItemAdapter.java')
-rw-r--r-- | src/main/java/eu/siacs/conversations/ui/adapter/ListItemAdapter.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/ListItemAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/ListItemAdapter.java index da8e39101..c29b01bcf 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/ListItemAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/ListItemAdapter.java @@ -62,7 +62,7 @@ public class ListItemAdapter extends ArrayAdapter<ListItem> { ImageView picture = (ImageView) view.findViewById(R.id.contact_photo); LinearLayout tagLayout = (LinearLayout) view.findViewById(R.id.tags); - List<ListItem.Tag> tags = item.getTags(); + List<ListItem.Tag> tags = item.getTags(activity); if (tags.size() == 0 || !this.showDynamicTags) { tagLayout.setVisibility(View.GONE); } else { @@ -106,12 +106,12 @@ public class ListItemAdapter extends ArrayAdapter<ListItem> { @Override protected Bitmap doInBackground(ListItem... params) { - return activity.avatarService().get(params[0], activity.getPixel(48)); + return activity.avatarService().get(params[0], activity.getPixel(48), isCancelled()); } @Override protected void onPostExecute(Bitmap bitmap) { - if (bitmap != null) { + if (bitmap != null && !isCancelled()) { final ImageView imageView = imageViewReference.get(); if (imageView != null) { imageView.setImageBitmap(bitmap); @@ -125,6 +125,7 @@ public class ListItemAdapter extends ArrayAdapter<ListItem> { if (cancelPotentialWork(item, imageView)) { final Bitmap bm = activity.avatarService().get(item,activity.getPixel(48),true); if (bm != null) { + cancelPotentialWork(item, imageView); imageView.setImageBitmap(bm); imageView.setBackgroundColor(0x00000000); } else { |