Skip to content

Commit ae18b24

Browse files
authored
flickering fixed (commons-app#4095)
1 parent 9e92c95 commit ae18b24

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

app/src/main/java/fr/free/nrw/commons/contributions/ContributionViewHolder.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ public void init(final int position, final Contribution contribution) {
6969
titleView.setText(contribution.getMedia().getMostRelevantCaption());
7070
authorView.setText(contribution.getMedia().getAuthor());
7171

72+
//Removes flicker of loading image.
73+
imageView.getHierarchy().setFadeDuration(0);
74+
7275
imageView.getHierarchy().setPlaceholderImage(R.drawable.image_placeholder);
7376
imageView.getHierarchy().setFailureImage(R.drawable.image_placeholder);
7477

app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import androidx.recyclerview.widget.GridLayoutManager;
2424
import androidx.recyclerview.widget.RecyclerView;
2525
import androidx.recyclerview.widget.RecyclerView.AdapterDataObserver;
26+
import androidx.recyclerview.widget.RecyclerView.ItemAnimator;
27+
import androidx.recyclerview.widget.SimpleItemAnimator;
2628
import butterknife.BindView;
2729
import butterknife.ButterKnife;
2830
import com.google.android.material.floatingactionbutton.FloatingActionButton;
@@ -133,6 +135,13 @@ private void initRecyclerView() {
133135
final GridLayoutManager layoutManager = new GridLayoutManager(getContext(),
134136
getSpanCount(getResources().getConfiguration().orientation));
135137
rvContributionsList.setLayoutManager(layoutManager);
138+
139+
//Setting flicker animation of recycler view to false.
140+
final ItemAnimator animator = rvContributionsList.getItemAnimator();
141+
if (animator instanceof SimpleItemAnimator) {
142+
((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
143+
}
144+
136145
contributionsListPresenter.setup();
137146
contributionsListPresenter.contributionList.observe(this.getViewLifecycleOwner(), adapter::submitList);
138147
rvContributionsList.setAdapter(adapter);

0 commit comments

Comments
 (0)