From b6678bb64577b534cd59db978817336769e67e92 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 23 Jul 2022 12:07:40 +0200 Subject: [PATCH] Fix issue #272 --- .../app/fedilab/android/ui/drawer/StatusAdapter.java | 10 ++++++---- .../android/ui/fragment/media/FragmentMedia.java | 6 ++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java b/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java index 0b5d18d7..1fc2d05a 100644 --- a/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java +++ b/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java @@ -1985,10 +1985,12 @@ public class StatusAdapter extends RecyclerView.Adapter } else if (viewHolder.getItemViewType() == STATUS_ART) { StatusViewHolder holder = (StatusViewHolder) viewHolder; MastodonHelper.loadPPMastodon(holder.bindingArt.artPp, status.account); - Glide.with(holder.bindingArt.artMedia.getContext()) - .load(status.art_attachment.preview_url) - .apply(new RequestOptions().transform(new RoundedCorners((int) Helper.convertDpToPixel(3, context)))) - .into(holder.bindingArt.artMedia); + if (status.art_attachment != null) { + Glide.with(holder.bindingArt.artMedia.getContext()) + .load(status.art_attachment.preview_url) + .apply(new RequestOptions().transform(new RoundedCorners((int) Helper.convertDpToPixel(3, context)))) + .into(holder.bindingArt.artMedia); + } holder.bindingArt.artAcct.setText( status.account.getSpanDisplayName(context, new WeakReference<>(holder.bindingArt.artAcct)), diff --git a/app/src/main/java/app/fedilab/android/ui/fragment/media/FragmentMedia.java b/app/src/main/java/app/fedilab/android/ui/fragment/media/FragmentMedia.java index 3395cd59..44f9547a 100644 --- a/app/src/main/java/app/fedilab/android/ui/fragment/media/FragmentMedia.java +++ b/app/src/main/java/app/fedilab/android/ui/fragment/media/FragmentMedia.java @@ -142,6 +142,9 @@ public class FragmentMedia extends Fragment { binding.mediaPicture.setVisibility(View.VISIBLE); binding.pbarInf.setIndeterminate(true); binding.loader.setVisibility(View.VISIBLE); + if (binding == null || !isAdded() || getActivity() == null) { + return; + } if (Helper.isValidContextForGlide(requireActivity()) && isAdded()) { Glide.with(requireActivity()) .asBitmap() @@ -250,6 +253,9 @@ public class FragmentMedia extends Fragment { } private void loadVideo(String url, String type) { + if (binding == null || !isAdded() || getActivity() == null) { + return; + } binding.pbarInf.setIndeterminate(false); binding.pbarInf.setScaleY(3f); binding.mediaVideo.setVisibility(View.VISIBLE);