From 1ccb3578e8370de48746c0f9cce9deffe12a7336 Mon Sep 17 00:00:00 2001 From: Harsh Maheshwari <35210016+harshchinu@users.noreply.github.com> Date: Tue, 22 Dec 2020 23:52:40 +0530 Subject: [PATCH] issue #3996 solved (#3999) --- .../leaderboard/LeaderboardFragment.java | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/profile/leaderboard/LeaderboardFragment.java b/app/src/main/java/fr/free/nrw/commons/profile/leaderboard/LeaderboardFragment.java index dd150272f..4c43c9159 100644 --- a/app/src/main/java/fr/free/nrw/commons/profile/leaderboard/LeaderboardFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/profile/leaderboard/LeaderboardFragment.java @@ -16,6 +16,7 @@ import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ProgressBar; import android.widget.Spinner; +import android.widget.Toast; import androidx.lifecycle.ViewModelProvider; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.MergeAdapter; @@ -154,7 +155,9 @@ public class LeaderboardFragment extends CommonsDaggerSupportFragment { } }); - scrollButton.setOnClickListener(view -> scrollToUserRank()); + + scrollButton.setOnClickListener(view -> scrollToUserRank()); + return rootView; } @@ -176,22 +179,22 @@ public class LeaderboardFragment extends CommonsDaggerSupportFragment { * If you are viewing the leaderboard below userRank, it scrolls to the user rank at the top */ private void scrollToUserRank() { - if (Objects.requireNonNull(leaderboardListRecyclerView.getAdapter()).getItemCount() > userRank + 1) { - int currPosition = ((LinearLayoutManager) leaderboardListRecyclerView.getLayoutManager()) - .findFirstCompletelyVisibleItemPosition(); - // if you are below your rank, scroll to userRank - if (currPosition > userRank) { - leaderboardListRecyclerView.smoothScrollToPosition(userRank); - } else { + + if(userRank==0){ + Toast.makeText(getContext(),R.string.no_achievements_yet,Toast.LENGTH_SHORT).show(); + }else { + if (Objects.requireNonNull(leaderboardListRecyclerView.getAdapter()).getItemCount() + > userRank + 1) { leaderboardListRecyclerView.smoothScrollToPosition(userRank + 1); - } - } else { - if (viewModel != null) { - viewModel.refresh(duration, category, userRank + 1, 0); - setLeaderboard(duration, category, userRank + 1, 0); - scrollToRank = true; + } else { + if (viewModel != null) { + viewModel.refresh(duration, category, userRank + 1, 0); + setLeaderboard(duration, category, userRank + 1, 0); + scrollToRank = true; + } } } + } /**