From 5f0ddbc15d68d82e85c41156d2873231ac32b986 Mon Sep 17 00:00:00 2001 From: Martin Fietz Date: Sun, 2 Aug 2015 18:24:32 +0200 Subject: [PATCH] Prevent NPE b/c of race condition --- .../antennapod/adapter/AllEpisodesListAdapter.java | 9 ++++++--- .../de/danoeh/antennapod/adapter/QueueListAdapter.java | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesListAdapter.java index a167f7c54..aebcc5e41 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesListAdapter.java @@ -177,13 +177,16 @@ public class AllEpisodesListAdapter extends BaseAdapter { @Override public void onLoadFailed(Exception e, Drawable errorDrawable) { - if(fallback.get() != null && placeholder.get() != null && cover.get() != null) { + Uri fallbackUri = fallback.get(); + TextView txtvPlaceholder = placeholder.get(); + ImageView imgvCover = cover.get(); + if(fallbackUri != null && txtvPlaceholder != null && imgvCover != null) { Glide.with(context) - .load(fallback.get()) + .load(fallbackUri) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .fitCenter() .dontAnimate() - .into(new CoverTarget(null, placeholder.get(), cover.get())); + .into(new CoverTarget(null, txtvPlaceholder, imgvCover)); } } diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/QueueListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/QueueListAdapter.java index 6cc62390f..73d7c9252 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/QueueListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/QueueListAdapter.java @@ -182,13 +182,16 @@ public class QueueListAdapter extends BaseAdapter { @Override public void onLoadFailed(Exception e, Drawable errorDrawable) { - if(fallback.get() != null && placeholder.get() != null && cover.get() != null) { + Uri fallbackUri = fallback.get(); + TextView txtvPlaceholder = placeholder.get(); + ImageView imgvCover = cover.get(); + if(fallbackUri != null && txtvPlaceholder != null && imgvCover != null) { Glide.with(context) - .load(fallback.get()) + .load(fallbackUri) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .fitCenter() .dontAnimate() - .into(new CoverTarget(null, placeholder.get(), cover.get())); + .into(new CoverTarget(null, txtvPlaceholder, imgvCover)); } }