Skip to content

Commit f6963c8

Browse files
Fixes commons-app#3845 (Contributions list starts at the last uploaded pic, not the currently uploading one) (commons-app#3962)
* Fixes commons-app#3845 * Fixes commons-app#3845 *Scroll to the top when a new upload item is added in a contribution list
1 parent 4571b76 commit f6963c8

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

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

+10
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import androidx.fragment.app.FragmentManager;
2323
import androidx.recyclerview.widget.GridLayoutManager;
2424
import androidx.recyclerview.widget.RecyclerView;
25+
import androidx.recyclerview.widget.RecyclerView.AdapterDataObserver;
2526
import butterknife.BindView;
2627
import butterknife.ButterKnife;
2728
import com.google.android.material.floatingactionbutton.FloatingActionButton;
@@ -134,6 +135,15 @@ private void initRecyclerView() {
134135
contributionsListPresenter.setup();
135136
contributionsListPresenter.contributionList.observe(this.getViewLifecycleOwner(), adapter::submitList);
136137
rvContributionsList.setAdapter(adapter);
138+
adapter.registerAdapterDataObserver(new AdapterDataObserver() {
139+
@Override
140+
public void onItemRangeInserted(int positionStart, int itemCount) {
141+
super.onItemRangeInserted(positionStart, itemCount);
142+
if (itemCount > 0 && positionStart == 0) {
143+
rvContributionsList.scrollToPosition(0);//Newly upload items are always added to the top
144+
}
145+
}
146+
});
137147
}
138148

139149
private int getSpanCount(final int orientation) {

0 commit comments

Comments
 (0)