From 8079a213f7de96aa84a9394b89ba7cf75dbfddd6 Mon Sep 17 00:00:00 2001 From: Thomas Date: Wed, 15 Feb 2023 15:45:50 +0100 Subject: [PATCH] Fix media not added in chat view --- .../mastodon/ui/drawer/StatusAdapter.java | 7 ++++--- .../ui/fragment/media/FragmentMedia.java | 17 ++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java index caa4e3d4c..d9c5edf3f 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java +++ b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java @@ -814,11 +814,11 @@ public class StatusAdapter extends RecyclerView.Adapter if (statusToDeal.card.width > statusToDeal.card.height) { holder.binding.cardImageHorizontal.setVisibility(View.VISIBLE); holder.binding.cardImageVertical.setVisibility(View.GONE); - Glide.with(context).load(statusToDeal.card.image).into(holder.binding.cardImageHorizontal); + Glide.with(holder.itemView.getContext()).load(statusToDeal.card.image).into(holder.binding.cardImageHorizontal); } else { holder.binding.cardImageHorizontal.setVisibility(View.GONE); holder.binding.cardImageVertical.setVisibility(View.VISIBLE); - Glide.with(context).load(statusToDeal.card.image).into(holder.binding.cardImageVertical); + Glide.with(holder.itemView.getContext()).load(statusToDeal.card.image).into(holder.binding.cardImageVertical); } holder.binding.cardTitle.setText(statusToDeal.card.title); holder.binding.cardDescription.setText(statusToDeal.card.description); @@ -2643,7 +2643,7 @@ public class StatusAdapter extends RecyclerView.Adapter } @Override - public void onAttachedToRecyclerView(RecyclerView recyclerView) { + public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) { super.onAttachedToRecyclerView(recyclerView); mRecyclerView = recyclerView; @@ -2729,6 +2729,7 @@ public class StatusAdapter extends RecyclerView.Adapter if (viewHolder.getItemViewType() == STATUS_HIDDEN) { return; } + context = viewHolder.itemView.getContext(); Status status = statusList.get(position); if (viewHolder.getItemViewType() == STATUS_VISIBLE) { StatusViewHolder holder = (StatusViewHolder) viewHolder; diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/media/FragmentMedia.java b/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/media/FragmentMedia.java index 50dfa83a0..cab2ac9ca 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/media/FragmentMedia.java +++ b/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/media/FragmentMedia.java @@ -16,7 +16,6 @@ package app.fedilab.android.mastodon.ui.fragment.media; import android.content.SharedPreferences; -import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.net.Uri; @@ -131,16 +130,16 @@ public class FragmentMedia extends Fragment { scheduleStartPostponedTransition(binding.mediaPicture); if (Helper.isValidContextForGlide(requireActivity()) && isAdded()) { Glide.with(requireActivity()) - .asBitmap() + .asDrawable() .dontTransform() .load(preview_url).into( - new CustomTarget() { + new CustomTarget() { @Override - public void onResourceReady(@NonNull final Bitmap resource, Transition transition) { + public void onResourceReady(@NonNull final Drawable resource, Transition transition) { if (binding == null || !isAdded() || getActivity() == null) { return; } - binding.mediaPicture.setImageBitmap(resource); + binding.mediaPicture.setImageDrawable(resource); if (attachment.type.equalsIgnoreCase("image") && !attachment.url.toLowerCase().endsWith(".gif")) { binding.mediaPicture.setVisibility(View.VISIBLE); @@ -148,17 +147,17 @@ public class FragmentMedia extends Fragment { handler.postDelayed(() -> { if (isAdded() && Helper.isValidContextForGlide(requireActivity())) { Glide.with(requireActivity()) - .asBitmap() + .asDrawable() .dontTransform() .load(url).into( - new CustomTarget() { + new CustomTarget() { @Override - public void onResourceReady(@NonNull final Bitmap resource, Transition transition) { + public void onResourceReady(@NonNull final Drawable resource, Transition transition) { if (binding == null || !isAdded() || getActivity() == null) { return; } binding.loader.setVisibility(View.GONE); - binding.mediaPicture.setImageBitmap(resource); + binding.mediaPicture.setImageDrawable(resource); binding.mediaPicture.setZoomable(true); }