diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt index f6ec87a4b..04ef205c7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt @@ -238,7 +238,7 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment) { } }) - val selectionAdapter = MappingAdapter() + val selectionAdapter = MappingAdapter(false) MediaReviewAddItem.register(selectionAdapter) { launchGallery() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingAdapter.java index 0dc444e45..d46ad3f5d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingAdapter.java @@ -44,16 +44,19 @@ import kotlin.jvm.functions.Function1; */ public class MappingAdapter extends ListAdapter, MappingViewHolder> { - final Map> factories; - final Map, Integer> itemTypes; - int typeCount; + final Map> factories = new HashMap<>(); + final Map, Integer> itemTypes = new HashMap<>(); + int typeCount = 0; + final boolean useNoCrossfadeAnimator; public MappingAdapter() { + this(true); + } + + public MappingAdapter(boolean useNoCrossfadeAnimator) { super(new MappingDiffCallback()); - factories = new HashMap<>(); - itemTypes = new HashMap<>(); - typeCount = 0; + this.useNoCrossfadeAnimator = useNoCrossfadeAnimator; } @Override @@ -71,7 +74,7 @@ public class MappingAdapter extends ListAdapter, MappingViewHold @Override public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) { super.onAttachedToRecyclerView(recyclerView); - if (recyclerView.getItemAnimator() != null && recyclerView.getItemAnimator().getClass() == DefaultItemAnimator.class) { + if (useNoCrossfadeAnimator && recyclerView.getItemAnimator() != null && recyclerView.getItemAnimator().getClass() == DefaultItemAnimator.class) { recyclerView.setItemAnimator(new NoCrossfadeChangeDefaultAnimator()); } }