From ae18b24e92a039675ecd40aea78d30712ef6225e Mon Sep 17 00:00:00 2001 From: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com> Date: Wed, 16 Dec 2020 22:49:12 +0530 Subject: [PATCH] flickering fixed (#4095) --- .../commons/contributions/ContributionViewHolder.java | 3 +++ .../commons/contributions/ContributionsListFragment.java | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionViewHolder.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionViewHolder.java index 791d2d5c2..8dd631309 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionViewHolder.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionViewHolder.java @@ -69,6 +69,9 @@ public class ContributionViewHolder extends RecyclerView.ViewHolder { titleView.setText(contribution.getMedia().getMostRelevantCaption()); authorView.setText(contribution.getMedia().getAuthor()); + //Removes flicker of loading image. + imageView.getHierarchy().setFadeDuration(0); + imageView.getHierarchy().setPlaceholderImage(R.drawable.image_placeholder); imageView.getHierarchy().setFailureImage(R.drawable.image_placeholder); diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java index 5b75a8689..52ea25f03 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java @@ -23,6 +23,8 @@ import androidx.fragment.app.FragmentManager; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView.AdapterDataObserver; +import androidx.recyclerview.widget.RecyclerView.ItemAnimator; +import androidx.recyclerview.widget.SimpleItemAnimator; import butterknife.BindView; import butterknife.ButterKnife; import com.google.android.material.floatingactionbutton.FloatingActionButton; @@ -133,6 +135,13 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment impl final GridLayoutManager layoutManager = new GridLayoutManager(getContext(), getSpanCount(getResources().getConfiguration().orientation)); rvContributionsList.setLayoutManager(layoutManager); + + //Setting flicker animation of recycler view to false. + final ItemAnimator animator = rvContributionsList.getItemAnimator(); + if (animator instanceof SimpleItemAnimator) { + ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); + } + contributionsListPresenter.setup(); contributionsListPresenter.contributionList.observe(this.getViewLifecycleOwner(), adapter::submitList); rvContributionsList.setAdapter(adapter);